From 79ee31dff676ecd8feeb0a82f09b623ffe0f7db0 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Thu, 31 Jan 2019 22:31:06 -0600 Subject: [PATCH] use parcel-bundler 'moment' and 'marked' can now be required() from purescript FFI --- espial.cabal | 13 +- package.yaml | 2 +- purs/Makefile | 10 +- purs/README.md | 2 +- purs/package-lock.json | 7127 ++++++++++++++++++ purs/package.json | 8 +- purs/src/Globals.js | 2 + purs/src/Main.js | 5 + purs/src/Main.purs | 4 +- purs/src/Marked.js | 11 +- src/Foundation.hs | 1 - src/Handler/Notes.hs | 2 - static/js/app.js | 14143 ----------------------------------- static/js/app.js.gz | Bin 76905 -> 0 bytes static/js/app.min.js | 17 +- static/js/app.min.js.gz | Bin 48163 -> 73671 bytes static/js/app.min.map | 1 + static/js/app.min.map.gz | Bin 0 -> 233105 bytes static/js/marked.min.js | 6 - static/js/marked.min.js.gz | Bin 7720 -> 0 bytes static/js/moment.min.js | 1 - static/js/moment.min.js.gz | Bin 16794 -> 0 bytes 22 files changed, 7179 insertions(+), 14176 deletions(-) create mode 100644 purs/src/Main.js delete mode 100644 static/js/app.js delete mode 100644 static/js/app.js.gz create mode 100644 static/js/app.min.map create mode 100644 static/js/app.min.map.gz delete mode 100644 static/js/marked.min.js delete mode 100644 static/js/marked.min.js.gz delete mode 100644 static/js/moment.min.js delete mode 100644 static/js/moment.min.js.gz diff --git a/espial.cabal b/espial.cabal index 7f5d9a4..792b852 100644 --- a/espial.cabal +++ b/espial.cabal @@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack -- --- hash: 417de4bead54d60a2c091ad91c61dc715571ef7421e702f157a3766daf4f4700 +-- hash: 7227333703029085a8041c55bcc653a2b000338e12bb43813bf9b349cfab6a11 name: espial -version: 0.0.7 +version: 0.0.8 synopsis: Espial is an open-source, web-based bookmarking server. description: . Espial is an open-source, web-based bookmarking server. @@ -45,6 +45,7 @@ extra-source-files: purs/src/Component/RawHtml.purs purs/src/Globals.js purs/src/Globals.purs + purs/src/Main.js purs/src/Main.purs purs/src/Marked.js purs/src/Marked.purs @@ -57,18 +58,14 @@ extra-source-files: static/css/tachyons.min.css static/css/tachyons.min.css.gz static/images/bluepin.gif - static/js/app.js - static/js/app.js.gz static/js/app.min.js static/js/app.min.js.gz + static/js/app.min.map + static/js/app.min.map.gz static/js/html5shiv.min.js static/js/html5shiv.min.js.gz static/js/js.cookie-2.2.0.min.js static/js/js.cookie-2.2.0.min.js.gz - static/js/marked.min.js - static/js/marked.min.js.gz - static/js/moment.min.js - static/js/moment.min.js.gz templates/change-password.hamlet templates/default-layout-wrapper.hamlet templates/default-layout.hamlet diff --git a/package.yaml b/package.yaml index c9be5a9..12c19af 100644 --- a/package.yaml +++ b/package.yaml @@ -1,6 +1,6 @@ name: espial synopsis: Espial is an open-source, web-based bookmarking server. -version: "0.0.7" +version: "0.0.8" description: ! ' Espial is an open-source, web-based bookmarking server. diff --git a/purs/Makefile b/purs/Makefile index 7bbb483..674cd18 100644 --- a/purs/Makefile +++ b/purs/Makefile @@ -7,14 +7,14 @@ install: build: @spago build - @spago bundle --to dist/app.js - @(cd dist && terser app.js -m -c -o app.min.js) + @spago bundle --to dist/bundle.js + @npm run parcel-build @rm -f dist/*.gz - @gzip -k dist/app.js + @gzip -k dist/app.min.map @gzip -k dist/app.min.js @find dist -type f -printf "%kK\\t%h/%f\\n" | sort -k 2 - @cp dist/app.js ../static/js/app.js - @cp dist/app.js.gz ../static/js/app.js.gz + @cp dist/app.min.map ../static/js/app.min.map + @cp dist/app.min.map.gz ../static/js/app.min.map.gz @cp dist/app.min.js ../static/js/app.min.js @cp dist/app.min.js.gz ../static/js/app.min.js.gz diff --git a/purs/README.md b/purs/README.md index 34bf706..6920600 100644 --- a/purs/README.md +++ b/purs/README.md @@ -1,6 +1,6 @@ ## Development (Posix only) -1. Install `purescript`, `purescript-spago`, `terser`: +1. Install `purescript`, `purescript-spago`, `parcel-bundler`: ``` npm install diff --git a/purs/package-lock.json b/purs/package-lock.json index caad117..0ca922a 100644 --- a/purs/package-lock.json +++ b/purs/package-lock.json @@ -3,6 +3,917 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.0.tgz", + "integrity": "sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", + "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", + "lodash": "^4.17.10" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", + "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "dev": true, + "requires": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.3.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.1.tgz", + "integrity": "sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz", + "integrity": "sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", + "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", + "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", + "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", + "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", + "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", + "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", + "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", + "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", + "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz", + "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", + "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.13.3" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", + "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", + "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + } + }, + "@babel/preset-env": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", + "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.2.0", + "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/runtime": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", + "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.12.0" + } + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "@babel/types": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.0.tgz", + "integrity": "sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "@iarna/toml": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.1.tgz", + "integrity": "sha512-I2EjI9TbEFJNLziNPFfpo64PNanOaK17iL2kTW/jGlGOa4bvHw4VEied83kOEB7NJjXf1KfvmsQ2aEjy3xjiGg==", + "dev": true + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@parcel/fs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", + "dev": true, + "requires": { + "@parcel/utils": "^1.11.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + } + }, + "@parcel/logger": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.0.tgz", + "integrity": "sha512-lIRfDg+junbFUUeU0QtHX00gKCgEsYHZydFKwrJ8dc0D+WE2SYT1FcVCgpPAfKYgtg0QQMns8E9vzT9UjH92PQ==", + "dev": true, + "requires": { + "@parcel/workers": "^1.11.0", + "chalk": "^2.1.0", + "grapheme-breaker": "^0.3.2", + "ora": "^2.1.0", + "strip-ansi": "^4.0.0" + } + }, + "@parcel/utils": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", + "dev": true + }, + "@parcel/watcher": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.11.0.tgz", + "integrity": "sha512-1ySF0sH06jyhpaErW1UWC7BNgkAl6PJyBjuu2cLTW1o71J2iQqgGt95cbuqmfmjI3l0xYN+nauDFqHERaj7Z8A==", + "dev": true, + "requires": { + "@parcel/utils": "^1.11.0", + "chokidar": "^2.0.3" + } + }, + "@parcel/workers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", + "dev": true, + "requires": { + "@parcel/utils": "^1.11.0", + "physical-cpu-count": "^2.0.0" + } + }, + "@types/node": { + "version": "10.12.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.19.tgz", + "integrity": "sha512-2NVovndCjJQj6fUUn9jCgpP4WSqr+u1SoUZMZyJkhGeBFsm6dE46l31S7lPUYt9uQ28XI+ibrJA1f5XyH5HNtA==", + "dev": true + }, + "@types/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz", + "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==", + "dev": true + }, + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, "ansi-escapes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -24,6 +935,25 @@ "color-convert": "^1.9.0" } }, + "ansi-to-html": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.10.tgz", + "integrity": "sha512-znsY3gvsk4CiApWu1yVYF8Nx5Vy0FEe8B0YwyxdbCdErJu5lfKlRHB2twtUjR+dxR4WewTk2OP8XqTmWYnImOg==", + "dev": true, + "requires": { + "entities": "^1.1.1" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, "app-cache-dir": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/app-cache-dir/-/app-cache-dir-0.3.1.tgz", @@ -45,18 +975,335 @@ "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", "dev": true }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon-walk": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", + "dev": true, + "requires": { + "babel-runtime": "^6.11.6", + "babel-types": "^6.15.0", + "lodash.clone": "^4.5.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "dev": true + }, + "bindings": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=", + "dev": true + }, "bl": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", @@ -67,6 +1314,18 @@ "safe-buffer": "^5.1.1" } }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -77,6 +1336,154 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dev": true, + "requires": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + }, + "dependencies": { + "pako": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz", + "integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==", + "dev": true + } + } + }, + "browserslist": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", + "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000929", + "electron-to-chromium": "^1.3.103", + "node-releases": "^1.1.3" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -93,6 +1500,12 @@ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "dev": true + }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -105,6 +1518,12 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, "build-purescript": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/build-purescript/-/build-purescript-0.2.3.tgz", @@ -124,12 +1543,71 @@ "zen-observable": "^0.6.1" } }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", "dev": true }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true + }, "cancelable-pump": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/cancelable-pump/-/cancelable-pump-0.2.0.tgz", @@ -139,6 +1617,30 @@ "pump": "^1.0.2" } }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30000933", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000933.tgz", + "integrity": "sha512-DdIlPHIGtjUS2sH/yioeS9CS0JsWk8zGqid0OdfYhwJvufYZKZPcgerEX9E7PWOnshDc9IndnEJDoqauv+JUHA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000933", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000933.tgz", + "integrity": "sha512-d3QXv7eFTU40DSedSP81dV/ajcGSKpT+GW+uhtWmLvQm9bPk0KK++7i1e2NSW/CXGZhWFt2mFbFtCJ5I5bMuVA==", + "dev": true + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -150,12 +1652,117 @@ "supports-color": "^5.3.0" } }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, "chownr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "clean-stack": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.0.0.tgz", @@ -171,6 +1778,132 @@ "restore-cursor": "^2.0.0" } }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clones": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/clones/-/clones-1.2.0.tgz", + "integrity": "sha512-FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ==", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz", + "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -186,24 +1919,198 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + } + } + }, + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "dev": true + }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==", + "dev": true + }, "commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.3.tgz", + "integrity": "sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cosmiconfig": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", + "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -217,6 +2124,354 @@ "which": "^1.2.9" } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-select": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^2.1.2", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.28", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", + "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", + "dev": true, + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true + }, + "css-url-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", + "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", + "dev": true + }, + "css-what": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", + "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", + "dev": true + }, + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "cssnano": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.8.tgz", + "integrity": "sha512-5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.6", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz", + "integrity": "sha512-UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.0", + "postcss-colormin": "^4.0.2", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.1", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.10", + "postcss-merge-rules": "^4.0.2", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.1", + "postcss-minify-params": "^4.0.1", + "postcss-minify-selectors": "^4.0.1", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.1", + "postcss-normalize-positions": "^4.0.1", + "postcss-normalize-repeat-style": "^4.0.1", + "postcss-normalize-string": "^4.0.1", + "postcss-normalize-timing-functions": "^4.0.1", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.1", + "postcss-ordered-values": "^4.1.1", + "postcss-reduce-initial": "^4.0.2", + "postcss-reduce-transforms": "^4.0.1", + "postcss-svgo": "^4.0.1", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true, + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "deasync": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz", + "integrity": "sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==", + "dev": true, + "requires": { + "bindings": "~1.2.1", + "node-addon-api": "^1.6.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, "dl-tar": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/dl-tar/-/dl-tar-0.6.0.tgz", @@ -245,6 +2500,76 @@ "zen-observable": "^0.6.1" } }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", + "dev": true + }, + "dotenv-expand": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", + "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", + "dev": true + }, "download-or-build-purescript": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/download-or-build-purescript/-/download-or-build-purescript-0.0.9.tgz", @@ -303,12 +2628,76 @@ "zen-observable": "^0.6.1" } }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "editorconfig": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz", + "integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==", + "dev": true, + "requires": { + "@types/node": "^10.11.7", + "@types/semver": "^5.5.0", + "commander": "^2.19.0", + "lru-cache": "^4.1.3", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.111", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.111.tgz", + "integrity": "sha512-I2QjmmxWULp89fEHlFwRpKXSw4Y/Igo3u41py4MkzJTrgDOf/S4oq/IMuTUHze/5TTPpwem74oQiPMEgFtuDRA==", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -318,12 +2707,111 @@ "once": "^1.4.0" } }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "execa": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", @@ -345,6 +2833,182 @@ "integrity": "sha512-NG/Pw0xD4KBcb5ilpZa57n7U17obIvZX1TCBLdv9M7Jd3wSsfU8BtMSy+EFkx9hhJsnIBBEmaPQd12dXWaxlHA==", "dev": true }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "fast-glob": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz", + "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, "feint": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/feint/-/feint-1.0.2.tgz", @@ -397,6 +3061,71 @@ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -409,12 +3138,565 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -429,18 +3711,713 @@ "path-is-absolute": "^1.0.0" } }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz", + "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==", + "dev": true + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, + "grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "dev": true, + "requires": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "htmlnano": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.1.10.tgz", + "integrity": "sha512-eTEUzz8VdWYp+w/KUdb99kwao4reR64epUySyZkQeepcyzPQ2n2EPWzibf6QDxmkGy10Kr+CKxYqI3izSbmhJQ==", + "dev": true, + "requires": { + "cssnano": "^3.4.0", + "object-assign": "^4.0.1", + "posthtml": "^0.11.3", + "posthtml-render": "^1.1.4", + "svgo": "^1.0.5", + "terser": "^3.8.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "^5.0.16" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + } + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "^5.0.5" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + }, + "dependencies": { + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", + "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -457,6 +4434,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, "inspect-with-kind": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", @@ -513,30 +4496,270 @@ "vertical-meter": "^1.0.0" } }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "is-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-dir/-/is-dir-1.0.0.tgz", "integrity": "sha1-QdN/SV/MrMBaR3jWboMCTCkro/8=", "dev": true }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -549,6 +4772,82 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-beautify": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.9.tgz", + "integrity": "sha512-MwPmLywK9RSX0SPsUJjN7i+RQY9w/yC17Lbrq9ViEefpLRgqAR2BgrMN2AbifkUuhDV8tRauLhLda/9+bE0YQA==", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.2", + "glob": "^7.1.3", + "mkdirp": "~0.5.0", + "nopt": "~4.0.1" + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "junk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", @@ -561,6 +4860,25 @@ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, "load-from-cwd-or-npm": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/load-from-cwd-or-npm/-/load-from-cwd-or-npm-2.2.2.tgz", @@ -582,6 +4900,46 @@ "load-from-cwd-or-npm": "^2.2.1" } }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -602,6 +4960,15 @@ "wrap-ansi": "^3.0.1" } }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -612,12 +4979,156 @@ "yallist": "^2.1.2" } }, + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "requires": { + "vlq": "^0.2.2" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.0.tgz", + "integrity": "sha512-HduzIW2xApSXKXJSpCipSxKyvMbwRRa/TwMbepmlZziKdH8548WSoDP4SxzulEKjlo8BE39l+2fwJZuRKOln6g==" + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true + }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "dev": true, + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -633,6 +5144,27 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -650,12 +5182,43 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, + "nan": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", + "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, "neat-frame": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/neat-frame/-/neat-frame-1.0.2.tgz", @@ -697,6 +5260,89 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-addon-api": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz", + "integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==", + "dev": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", + "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "0.0.4" + } + }, + "node-releases": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.6.tgz", + "integrity": "sha512-lODUVHEIZutZx+TDdOk47qLik8FJMXzJ+WnyUGci1MTvTOyzZrz5eVPIIpc5Hb3NfHZGeGHeuwrRYVI1PEITWg==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, "npm-cli-dir": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-cli-dir/-/npm-cli-dir-2.0.2.tgz", @@ -726,6 +5372,125 @@ "path-key": "^2.0.0" } }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -744,18 +5509,290 @@ "mimic-fn": "^1.0.0" } }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, "optional": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", "dev": true }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "ora": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "dev": true, + "requires": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-is-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "dev": true + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parcel-bundler": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.11.0.tgz", + "integrity": "sha512-H0w/Obx76vWiG+UtofznfcHZJBmd6JA5iCn7zrGBINyVAh+Nt/JLD6QDROghHLXfJkO4XyczsB+fO+nPbXlFfA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.0", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.11.0", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "cross-spawn": "^6.0.4", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^4.2.0", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.1.9", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.5", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^1.1.1", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + } + }, + "parse-asn1": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz", + "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -768,6 +5805,31 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", + "dev": true + }, "platform-name": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/platform-name/-/platform-name-1.0.0.tgz", @@ -777,6 +5839,876 @@ "inspect-with-kind": "^1.0.4" } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.5", + "postcss-selector-parser": "^5.0.0-rc.4", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-colormin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.2.tgz", + "integrity": "sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-discard-comments": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz", + "integrity": "sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz", + "integrity": "sha512-hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz", + "integrity": "sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-gradients": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz", + "integrity": "sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-params": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz", + "integrity": "sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz", + "integrity": "sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz", + "integrity": "sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz", + "integrity": "sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz", + "integrity": "sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz", + "integrity": "sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz", + "integrity": "sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz", + "integrity": "sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz", + "integrity": "sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz", + "integrity": "sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz", + "integrity": "sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.1.tgz", + "integrity": "sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "posthtml": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.3.tgz", + "integrity": "sha512-quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "posthtml-parser": "^0.3.3", + "posthtml-render": "^1.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "posthtml-parser": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.3.3.tgz", + "integrity": "sha512-H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A==", + "dev": true, + "requires": { + "htmlparser2": "^3.9.2", + "isobject": "^2.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "posthtml-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.1.tgz", + "integrity": "sha512-h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==", + "dev": true, + "requires": { + "htmlparser2": "^3.9.2", + "object-assign": "^4.1.1" + } + }, + "posthtml-render": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.4.tgz", + "integrity": "sha512-jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, "prepare-write": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/prepare-write/-/prepare-write-1.0.2.tgz", @@ -787,18 +6719,56 @@ "mkdirp": "^0.5.1" } }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", @@ -809,6 +6779,12 @@ "once": "^1.3.1" } }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, "purescript": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.12.1.tgz", @@ -824,6 +6800,70 @@ "integrity": "sha512-Ayt7TWsuaiNj91QbsRxb2F8729Kl3vjBN87wYKEybdYhE2KdUaaaV5QOJ1SkDV1emh86iEZRB611KyQ15ae0sg==", "dev": true }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "dev": true, + "requires": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, "rate-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/rate-map/-/rate-map-1.0.2.tgz", @@ -858,6 +6898,17 @@ "junk": "^2.1.0" } }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, "real-executable-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/real-executable-path/-/real-executable-path-2.0.2.tgz", @@ -878,6 +6929,169 @@ "which": "^1.3.0" } }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp-tree": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.1.tgz", + "integrity": "sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw==", + "dev": true, + "requires": { + "cli-table3": "^0.5.0", + "colors": "^1.1.2", + "yargs": "^12.0.5" + } + }, + "regexpu-core": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -895,6 +7109,12 @@ "resolve-from": "^4.0.0" } }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -905,6 +7125,24 @@ "signal-exit": "^3.0.2" } }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -914,18 +7152,169 @@ "glob": "^7.1.3" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-eval": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/safer-eval/-/safer-eval-1.3.0.tgz", + "integrity": "sha512-4qkBS8VzJatFR7F0eZfKoJyjqo43jY1jBvRhB5WXM0eJNjx9fiSmph5NApJefqKqpASKWPfaIJCJMMeWePSzfw==", + "dev": true, + "requires": { + "clones": "^1.2.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", "dev": true }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "serialize-to-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-1.2.2.tgz", + "integrity": "sha512-mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q==", + "dev": true, + "requires": { + "js-beautify": "^1.8.9", + "safer-eval": "^1.3.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -941,12 +7330,35 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, "size-rate": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/size-rate/-/size-rate-0.1.0.tgz", @@ -968,12 +7380,162 @@ "is-fullwidth-code-point": "^2.0.0" } }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", @@ -984,6 +7546,12 @@ "source-map": "^0.6.0" } }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, "spawn-stack": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/spawn-stack/-/spawn-stack-0.5.0.tgz", @@ -996,6 +7564,114 @@ "zen-observable": "^0.6.1" } }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "static-eval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz", + "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==", + "dev": true, + "requires": { + "escodegen": "^1.8.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dev": true, + "requires": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -1030,6 +7706,30 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "stylehacks": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz", + "integrity": "sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -1039,6 +7739,36 @@ "has-flag": "^3.0.0" } }, + "svgo": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz", + "integrity": "sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==", + "dev": true, + "requires": { + "coa": "~2.0.1", + "colors": "~1.1.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "~0.1.0", + "css-tree": "1.0.0-alpha.28", + "css-url-regex": "^1.1.0", + "csso": "^3.5.0", + "js-yaml": "^3.12.0", + "mkdirp": "~0.5.1", + "object.values": "^1.0.4", + "sax": "~1.2.4", + "stable": "~0.1.6", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + } + } + }, "tar-fs": { "version": "1.16.3", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", @@ -1151,18 +7881,109 @@ "source-map-support": "~0.5.6" } }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, "tilde-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tilde-path/-/tilde-path-2.0.0.tgz", "integrity": "sha512-3aDt7b/wBbxJjUTMiCW+uu7iqrB6F1DfxSL0qB4biSrP1+knIPveccs7thL34AkzPZ/0T7+oYXZDKiokMc1d6g==", "dev": true }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-inflate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz", + "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, "truncated-list": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/truncated-list/-/truncated-list-1.0.1.tgz", @@ -1172,6 +7993,12 @@ "inspect-with-kind": "^1.0.4" } }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, "tty-truncate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tty-truncate/-/tty-truncate-1.0.3.tgz", @@ -1212,12 +8039,225 @@ } } }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true + }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dev": true, + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, "vertical-meter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/vertical-meter/-/vertical-meter-1.0.0.tgz", @@ -1227,6 +8267,36 @@ "rate-map": "^1.0.1" } }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -1236,12 +8306,24 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, "win-user-installed-npm-cli-path": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/win-user-installed-npm-cli-path/-/win-user-installed-npm-cli-path-2.0.4.tgz", "integrity": "sha512-i+fSInL3Li47P9gGcJabtgvl2+hLmZwMsh4664WWuI1F/pQPtv4XerrOyg8poxvDv4o/QwB60f20MKtIX/CCxQ==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, "wrap-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", @@ -1258,18 +8340,63 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "zen-observable": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.6.1.tgz", diff --git a/purs/package.json b/purs/package.json index 036b9a4..f25a853 100644 --- a/purs/package.json +++ b/purs/package.json @@ -4,12 +4,16 @@ "scripts": { "make-install": "make install", "make-watch": "inotifywait -m -r -q -e close_write --format '%T %w%f' --timefmt '%T' src | while read FILE; do echo $FILE; make; done", - "make": "make" + "parcel-build": "parcel build dist/bundle.js --out-file dist/app.min.js --public-url /static/js/" }, "devDependencies": { + "parcel-bundler": "^1.11.0", "purescript": "^0.12.1", "purescript-spago": "^0.6.2", "terser": "^3.14.1" }, - "dependencies": {} + "dependencies": { + "marked": "^0.6.0", + "moment": "^2.24.0" + } } diff --git a/purs/src/Globals.js b/purs/src/Globals.js index bdf0955..2b973eb 100644 --- a/purs/src/Globals.js +++ b/purs/src/Globals.js @@ -1,5 +1,7 @@ "use strict"; +var moment = require("moment"); + exports._app = function() { return app; } diff --git a/purs/src/Main.js b/purs/src/Main.js new file mode 100644 index 0000000..1e6c178 --- /dev/null +++ b/purs/src/Main.js @@ -0,0 +1,5 @@ +"use strict"; + +exports._mainImpl = function() { + return window.PS = PS; +} diff --git a/purs/src/Main.purs b/purs/src/Main.purs index 5b99659..6c68aad 100644 --- a/purs/src/Main.purs +++ b/purs/src/Main.purs @@ -20,8 +20,10 @@ import Web.DOM.ParentNode (QuerySelector(..)) import Web.Event.Event (Event, preventDefault) import Web.HTML.HTMLElement (toElement) +foreign import _mainImpl :: Effect Unit + main :: Effect Unit -main = pure unit +main = _mainImpl logoutE :: Event -> Effect Unit logoutE e = void <<< launchAff <<< logout =<< preventDefault e diff --git a/purs/src/Marked.js b/purs/src/Marked.js index 017e51b..c65def9 100644 --- a/purs/src/Marked.js +++ b/purs/src/Marked.js @@ -1,7 +1,10 @@ +var marked = require("marked"); + +marked.setOptions({ + pedantic: false, + gfm: true +}); + exports.markedImpl = function(str) { - marked.setOptions({ - pedantic: false, - gfm: true - }); return marked(str); }; diff --git a/src/Foundation.hs b/src/Foundation.hs index ac03a77..9da98a2 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -118,7 +118,6 @@ isAuthenticated = maybeAuthId >>= \case addAppScripts :: (MonadWidget m, HandlerSite m ~ App) => m () addAppScripts = do - addScript (StaticR js_moment_min_js) addScript (StaticR js_app_min_js) diff --git a/src/Handler/Notes.hs b/src/Handler/Notes.hs index dce51f6..b5f954f 100644 --- a/src/Handler/Notes.hs +++ b/src/Handler/Notes.hs @@ -44,7 +44,6 @@ getNoteR unamep@(UserNameP uname) slug = do mnote <- getNote userId slug maybe notFound pure mnote defaultLayout $ do - addScript (StaticR js_marked_min_js) $(widgetFile "note") toWidgetBody [julius| app.userR = "@{UserR unamep}"; @@ -60,7 +59,6 @@ getAddNoteViewR unamep@(UserNameP uname) = do let renderEl = "note" :: Text note <- liftIO $ Entity (NoteKey 0) <$> _toNote userId (NoteForm Nothing Nothing Nothing Nothing Nothing Nothing Nothing) defaultLayout $ do - addScript (StaticR js_marked_min_js) $(widgetFile "note") toWidgetBody [julius| app.userR = "@{UserR unamep}"; diff --git a/static/js/app.js b/static/js/app.js deleted file mode 100644 index 490eacd..0000000 --- a/static/js/app.js +++ /dev/null @@ -1,14143 +0,0 @@ -// Generated by purs bundle 0.12.2 -var PS = {}; -(function(exports) { - /* global exports */ - /* global XMLHttpRequest */ - /* global module */ - /* global process */ - "use strict"; - - exports._ajax = function () { - var platformSpecific = { }; - if (typeof module !== "undefined" && module.require && !(typeof process !== "undefined" && process.versions["electron"])) { - // We are on node.js - platformSpecific.newXHR = function () { - var XHR = module.require("xhr2"); - return new XHR(); - }; - - platformSpecific.fixupUrl = function (url) { - var urllib = module.require("url"); - var u = urllib.parse(url); - u.protocol = u.protocol || "http:"; - u.hostname = u.hostname || "localhost"; - return urllib.format(u); - }; - - platformSpecific.getResponse = function (xhr) { - return xhr.response; - }; - } else { - // We are in the browser - platformSpecific.newXHR = function () { - return new XMLHttpRequest(); - }; - - platformSpecific.fixupUrl = function (url) { - return url || "/"; - }; - - platformSpecific.getResponse = function (xhr) { - return xhr.response; - }; - } - - return function (mkHeader, options) { - return function (errback, callback) { - var xhr = platformSpecific.newXHR(); - var fixedUrl = platformSpecific.fixupUrl(options.url); - xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password); - if (options.headers) { - try { - for (var i = 0, header; (header = options.headers[i]) != null; i++) { - xhr.setRequestHeader(header.field, header.value); - } - } catch (e) { - errback(e); - } - } - xhr.onerror = function () { - errback(new Error("AJAX request failed: " + options.method + " " + options.url)); - }; - xhr.onload = function () { - callback({ - status: xhr.status, - statusText: xhr.statusText, - headers: xhr.getAllResponseHeaders().split("\r\n") - .filter(function (header) { - return header.length > 0; - }) - .map(function (header) { - var i = header.indexOf(":"); - return mkHeader(header.substring(0, i))(header.substring(i + 2)); - }), - body: platformSpecific.getResponse(xhr) - }); - }; - xhr.responseType = options.responseType; - xhr.withCredentials = options.withCredentials; - xhr.send(options.content); - - return function (error, cancelErrback, cancelCallback) { - try { - xhr.abort(); - } catch (e) { - return cancelErrback(e); - } - return cancelCallback(); - }; - }; - }; - }(); -})(PS["Affjax"] = PS["Affjax"] || {}); -(function(exports) { - "use strict"; - - function id(x) { - return x; - } - exports.fromObject = id; - - exports.stringify = function (j) { - return JSON.stringify(j); - }; - - function isArray(a) { - return objToString.call(a) === "[object Array]"; - } -})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {}); -(function(exports) { - "use strict"; - - exports.refEq = function (r1) { - return function (r2) { - return r1 === r2; - }; - }; -})(PS["Data.Eq"] = PS["Data.Eq"] || {}); -(function(exports) { - "use strict"; - - exports.boolConj = function (b1) { - return function (b2) { - return b1 && b2; - }; - }; - - exports.boolDisj = function (b1) { - return function (b2) { - return b1 || b2; - }; - }; - - exports.boolNot = function (b) { - return !b; - }; -})(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Symbol"]; - var SProxy = (function () { - function SProxy() { - - }; - SProxy.value = new SProxy(); - return SProxy; - })(); - var IsSymbol = function (reflectSymbol) { - this.reflectSymbol = reflectSymbol; - }; - var reflectSymbol = function (dict) { - return dict.reflectSymbol; - }; - exports["IsSymbol"] = IsSymbol; - exports["reflectSymbol"] = reflectSymbol; - exports["SProxy"] = SProxy; -})(PS["Data.Symbol"] = PS["Data.Symbol"] || {}); -(function(exports) { - "use strict"; - - exports.unit = {}; -})(PS["Data.Unit"] = PS["Data.Unit"] || {}); -(function(exports) { - "use strict"; - - exports.showIntImpl = function (n) { - return n.toString(); - }; -})(PS["Data.Show"] = PS["Data.Show"] || {}); -(function(exports) { - "use strict"; - - exports.unsafeGet = function (label) { - return function (rec) { - return rec[label]; - }; - }; -})(PS["Record.Unsafe"] = PS["Record.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Record.Unsafe"]; - exports["unsafeGet"] = $foreign.unsafeGet; -})(PS["Record.Unsafe"] = PS["Record.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var RLProxy = (function () { - function RLProxy() { - - }; - RLProxy.value = new RLProxy(); - return RLProxy; - })(); - exports["RLProxy"] = RLProxy; -})(PS["Type.Data.RowList"] = PS["Type.Data.RowList"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Show"]; - var Data_Symbol = PS["Data.Symbol"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Show = function (show) { - this.show = show; - }; - var showInt = new Show($foreign.showIntImpl); - var show = function (dict) { - return dict.show; - }; - exports["Show"] = Show; - exports["show"] = show; - exports["showInt"] = showInt; -})(PS["Data.Show"] = PS["Data.Show"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Unit"]; - var Data_Show = PS["Data.Show"]; - exports["unit"] = $foreign.unit; -})(PS["Data.Unit"] = PS["Data.Unit"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.HeytingAlgebra"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_Row = PS["Type.Data.Row"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) { - this.conj = conj; - this.disj = disj; - this.ff = ff; - this.implies = implies; - this.not = not; - this.tt = tt; - }; - var tt = function (dict) { - return dict.tt; - }; - var not = function (dict) { - return dict.not; - }; - var implies = function (dict) { - return dict.implies; - }; - var ff = function (dict) { - return dict.ff; - }; - var disj = function (dict) { - return dict.disj; - }; - var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) { - return function (b) { - return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b); - }; - }, $foreign.boolNot, true); - var conj = function (dict) { - return dict.conj; - }; - var heytingAlgebraFunction = function (dictHeytingAlgebra) { - return new HeytingAlgebra(function (f) { - return function (g) { - return function (a) { - return conj(dictHeytingAlgebra)(f(a))(g(a)); - }; - }; - }, function (f) { - return function (g) { - return function (a) { - return disj(dictHeytingAlgebra)(f(a))(g(a)); - }; - }; - }, function (v) { - return ff(dictHeytingAlgebra); - }, function (f) { - return function (g) { - return function (a) { - return implies(dictHeytingAlgebra)(f(a))(g(a)); - }; - }; - }, function (f) { - return function (a) { - return not(dictHeytingAlgebra)(f(a)); - }; - }, function (v) { - return tt(dictHeytingAlgebra); - }); - }; - exports["HeytingAlgebra"] = HeytingAlgebra; - exports["tt"] = tt; - exports["ff"] = ff; - exports["implies"] = implies; - exports["conj"] = conj; - exports["disj"] = disj; - exports["not"] = not; - exports["heytingAlgebraBoolean"] = heytingAlgebraBoolean; - exports["heytingAlgebraFunction"] = heytingAlgebraFunction; -})(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Show = PS["Data.Show"]; - var absurd = function (a) { - var spin = function ($copy_v) { - var $tco_result; - function $tco_loop(v) { - $copy_v = v; - return; - }; - while (!false) { - $tco_result = $tco_loop($copy_v); - }; - return $tco_result; - }; - return spin(a); - }; - exports["absurd"] = absurd; -})(PS["Data.Void"] = PS["Data.Void"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Void = PS["Data.Void"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Eq = function (eq) { - this.eq = eq; - }; - var eqVoid = new Eq(function (v) { - return function (v1) { - return true; - }; - }); - var eqUnit = new Eq(function (v) { - return function (v1) { - return true; - }; - }); - var eqString = new Eq($foreign.refEq); - var eqInt = new Eq($foreign.refEq); - var eqChar = new Eq($foreign.refEq); - var eq = function (dict) { - return dict.eq; - }; - exports["Eq"] = Eq; - exports["eq"] = eq; - exports["eqInt"] = eqInt; - exports["eqChar"] = eqChar; - exports["eqString"] = eqString; - exports["eqUnit"] = eqUnit; - exports["eqVoid"] = eqVoid; -})(PS["Data.Eq"] = PS["Data.Eq"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Semigroupoid = function (compose) { - this.compose = compose; - }; - var semigroupoidFn = new Semigroupoid(function (f) { - return function (g) { - return function (x) { - return f(g(x)); - }; - }; - }); - var compose = function (dict) { - return dict.compose; - }; - exports["compose"] = compose; - exports["Semigroupoid"] = Semigroupoid; - exports["semigroupoidFn"] = semigroupoidFn; -})(PS["Control.Semigroupoid"] = PS["Control.Semigroupoid"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Category = function (Semigroupoid0, identity) { - this.Semigroupoid0 = Semigroupoid0; - this.identity = identity; - }; - var identity = function (dict) { - return dict.identity; - }; - var categoryFn = new Category(function () { - return Control_Semigroupoid.semigroupoidFn; - }, function (x) { - return x; - }); - exports["Category"] = Category; - exports["identity"] = identity; - exports["categoryFn"] = categoryFn; -})(PS["Control.Category"] = PS["Control.Category"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var otherwise = true; - exports["otherwise"] = otherwise; -})(PS["Data.Boolean"] = PS["Data.Boolean"] || {}); -(function(exports) { - "use strict"; - - exports.unsafeCompareImpl = function (lt) { - return function (eq) { - return function (gt) { - return function (x) { - return function (y) { - return x < y ? lt : x === y ? eq : gt; - }; - }; - }; - }; - }; -})(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); -(function(exports) { - "use strict"; - - exports.concatString = function (s1) { - return function (s2) { - return s1 + s2; - }; - }; - - exports.concatArray = function (xs) { - return function (ys) { - if (xs.length === 0) return ys; - if (ys.length === 0) return xs; - return xs.concat(ys); - }; - }; -})(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Semigroup"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Void = PS["Data.Void"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Semigroup = function (append) { - this.append = append; - }; - var semigroupString = new Semigroup($foreign.concatString); - var semigroupArray = new Semigroup($foreign.concatArray); - var append = function (dict) { - return dict.append; - }; - var semigroupFn = function (dictSemigroup) { - return new Semigroup(function (f) { - return function (g) { - return function (x) { - return append(dictSemigroup)(f(x))(g(x)); - }; - }; - }); - }; - exports["Semigroup"] = Semigroup; - exports["append"] = append; - exports["semigroupString"] = semigroupString; - exports["semigroupFn"] = semigroupFn; - exports["semigroupArray"] = semigroupArray; -})(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var LT = (function () { - function LT() { - - }; - LT.value = new LT(); - return LT; - })(); - var GT = (function () { - function GT() { - - }; - GT.value = new GT(); - return GT; - })(); - var EQ = (function () { - function EQ() { - - }; - EQ.value = new EQ(); - return EQ; - })(); - exports["LT"] = LT; - exports["GT"] = GT; - exports["EQ"] = EQ; -})(PS["Data.Ordering"] = PS["Data.Ordering"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Ord.Unsafe"]; - var Data_Ordering = PS["Data.Ordering"]; - var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value); - exports["unsafeCompare"] = unsafeCompare; -})(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); -(function(exports) { - "use strict"; - - exports.intSub = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x - y | 0; - }; - }; -})(PS["Data.Ring"] = PS["Data.Ring"] || {}); -(function(exports) { - "use strict"; - - exports.intAdd = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x + y | 0; - }; - }; - - exports.intMul = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x * y | 0; - }; - }; -})(PS["Data.Semiring"] = PS["Data.Semiring"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Semiring"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_Row = PS["Type.Data.Row"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Semiring = function (add, mul, one, zero) { - this.add = add; - this.mul = mul; - this.one = one; - this.zero = zero; - }; - var zero = function (dict) { - return dict.zero; - }; - var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0); - var one = function (dict) { - return dict.one; - }; - var mul = function (dict) { - return dict.mul; - }; - var add = function (dict) { - return dict.add; - }; - exports["Semiring"] = Semiring; - exports["add"] = add; - exports["zero"] = zero; - exports["mul"] = mul; - exports["one"] = one; - exports["semiringInt"] = semiringInt; -})(PS["Data.Semiring"] = PS["Data.Semiring"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Ring = function (Semiring0, sub) { - this.Semiring0 = Semiring0; - this.sub = sub; - }; - var sub = function (dict) { - return dict.sub; - }; - var ringInt = new Ring(function () { - return Data_Semiring.semiringInt; - }, $foreign.intSub); - exports["Ring"] = Ring; - exports["sub"] = sub; - exports["ringInt"] = ringInt; -})(PS["Data.Ring"] = PS["Data.Ring"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Ord"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord_Unsafe = PS["Data.Ord.Unsafe"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Void = PS["Data.Void"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Ord = function (Eq0, compare) { - this.Eq0 = Eq0; - this.compare = compare; - }; - var ordVoid = new Ord(function () { - return Data_Eq.eqVoid; - }, function (v) { - return function (v1) { - return Data_Ordering.EQ.value; - }; - }); - var ordUnit = new Ord(function () { - return Data_Eq.eqUnit; - }, function (v) { - return function (v1) { - return Data_Ordering.EQ.value; - }; - }); - var ordString = new Ord(function () { - return Data_Eq.eqString; - }, Data_Ord_Unsafe.unsafeCompare); - var ordInt = new Ord(function () { - return Data_Eq.eqInt; - }, Data_Ord_Unsafe.unsafeCompare); - var ordChar = new Ord(function () { - return Data_Eq.eqChar; - }, Data_Ord_Unsafe.unsafeCompare); - var compare = function (dict) { - return dict.compare; - }; - exports["Ord"] = Ord; - exports["compare"] = compare; - exports["ordInt"] = ordInt; - exports["ordString"] = ordString; - exports["ordChar"] = ordChar; - exports["ordUnit"] = ordUnit; - exports["ordVoid"] = ordVoid; -})(PS["Data.Ord"] = PS["Data.Ord"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var on = function (f) { - return function (g) { - return function (x) { - return function (y) { - return f(g(x))(g(y)); - }; - }; - }; - }; - var flip = function (f) { - return function (b) { - return function (a) { - return f(a)(b); - }; - }; - }; - var $$const = function (a) { - return function (v) { - return a; - }; - }; - exports["flip"] = flip; - exports["const"] = $$const; - exports["on"] = on; -})(PS["Data.Function"] = PS["Data.Function"] || {}); -(function(exports) { - "use strict"; - - exports.runFn4 = function (fn) { - return function (a) { - return function (b) { - return function (c) { - return function (d) { - return fn(a, b, c, d); - }; - }; - }; - }; - }; -})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Function.Uncurried"]; - var Data_Unit = PS["Data.Unit"]; - exports["runFn4"] = $foreign.runFn4; -})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); -(function(exports) { - "use strict"; - - exports.arrayMap = function (f) { - return function (arr) { - var l = arr.length; - var result = new Array(l); - for (var i = 0; i < l; i++) { - result[i] = f(arr[i]); - } - return result; - }; - }; -})(PS["Data.Functor"] = PS["Data.Functor"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Functor"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Function = PS["Data.Function"]; - var Data_Unit = PS["Data.Unit"]; - var Functor = function (map) { - this.map = map; - }; - var map = function (dict) { - return dict.map; - }; - var $$void = function (dictFunctor) { - return map(dictFunctor)(Data_Function["const"](Data_Unit.unit)); - }; - var voidLeft = function (dictFunctor) { - return function (f) { - return function (x) { - return map(dictFunctor)(Data_Function["const"](x))(f); - }; - }; - }; - var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)); - var functorArray = new Functor($foreign.arrayMap); - exports["Functor"] = Functor; - exports["map"] = map; - exports["void"] = $$void; - exports["voidLeft"] = voidLeft; - exports["functorFn"] = functorFn; - exports["functorArray"] = functorArray; -})(PS["Data.Functor"] = PS["Data.Functor"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Functor = PS["Data.Functor"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Alt = function (Functor0, alt) { - this.Functor0 = Functor0; - this.alt = alt; - }; - var alt = function (dict) { - return dict.alt; - }; - exports["Alt"] = Alt; - exports["alt"] = alt; -})(PS["Control.Alt"] = PS["Control.Alt"] || {}); -(function(exports) { - "use strict"; - - exports.arrayApply = function (fs) { - return function (xs) { - var l = fs.length; - var k = xs.length; - var result = new Array(l*k); - var n = 0; - for (var i = 0; i < l; i++) { - var f = fs[i]; - for (var j = 0; j < k; j++) { - result[n++] = f(xs[j]); - } - } - return result; - }; - }; -})(PS["Control.Apply"] = PS["Control.Apply"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Apply = function (Functor0, apply) { - this.Functor0 = Functor0; - this.apply = apply; - }; - var applyArray = new Apply(function () { - return Data_Functor.functorArray; - }, $foreign.arrayApply); - var apply = function (dict) { - return dict.apply; - }; - var applySecond = function (dictApply) { - return function (a) { - return function (b) { - return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"](Control_Category.identity(Control_Category.categoryFn)))(a))(b); - }; - }; - }; - var lift2 = function (dictApply) { - return function (f) { - return function (a) { - return function (b) { - return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b); - }; - }; - }; - }; - exports["Apply"] = Apply; - exports["apply"] = apply; - exports["applySecond"] = applySecond; - exports["lift2"] = lift2; - exports["applyArray"] = applyArray; -})(PS["Control.Apply"] = PS["Control.Apply"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Apply = PS["Control.Apply"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Unit = PS["Data.Unit"]; - var Applicative = function (Apply0, pure) { - this.Apply0 = Apply0; - this.pure = pure; - }; - var pure = function (dict) { - return dict.pure; - }; - var when = function (dictApplicative) { - return function (v) { - return function (v1) { - if (v) { - return v1; - }; - if (!v) { - return pure(dictApplicative)(Data_Unit.unit); - }; - throw new Error("Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): " + [ v.constructor.name, v1.constructor.name ]); - }; - }; - }; - var liftA1 = function (dictApplicative) { - return function (f) { - return function (a) { - return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a); - }; - }; - }; - exports["Applicative"] = Applicative; - exports["pure"] = pure; - exports["liftA1"] = liftA1; - exports["when"] = when; -})(PS["Control.Applicative"] = PS["Control.Applicative"] || {}); -(function(exports) { - "use strict"; - - exports.arrayBind = function (arr) { - return function (f) { - var result = []; - for (var i = 0, l = arr.length; i < l; i++) { - Array.prototype.push.apply(result, f(arr[i])); - } - return result; - }; - }; -})(PS["Control.Bind"] = PS["Control.Bind"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Unit = PS["Data.Unit"]; - var Bind = function (Apply0, bind) { - this.Apply0 = Apply0; - this.bind = bind; - }; - var Discard = function (discard) { - this.discard = discard; - }; - var discard = function (dict) { - return dict.discard; - }; - var bindArray = new Bind(function () { - return Control_Apply.applyArray; - }, $foreign.arrayBind); - var bind = function (dict) { - return dict.bind; - }; - var bindFlipped = function (dictBind) { - return Data_Function.flip(bind(dictBind)); - }; - var composeKleisliFlipped = function (dictBind) { - return function (f) { - return function (g) { - return function (a) { - return bindFlipped(dictBind)(f)(g(a)); - }; - }; - }; - }; - var composeKleisli = function (dictBind) { - return function (f) { - return function (g) { - return function (a) { - return bind(dictBind)(f(a))(g); - }; - }; - }; - }; - var discardUnit = new Discard(function (dictBind) { - return bind(dictBind); - }); - var join = function (dictBind) { - return function (m) { - return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn)); - }; - }; - exports["Bind"] = Bind; - exports["bind"] = bind; - exports["bindFlipped"] = bindFlipped; - exports["Discard"] = Discard; - exports["discard"] = discard; - exports["join"] = join; - exports["composeKleisli"] = composeKleisli; - exports["composeKleisliFlipped"] = composeKleisliFlipped; - exports["bindArray"] = bindArray; - exports["discardUnit"] = discardUnit; -})(PS["Control.Bind"] = PS["Control.Bind"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Unit = PS["Data.Unit"]; - var Monad = function (Applicative0, Bind1) { - this.Applicative0 = Applicative0; - this.Bind1 = Bind1; - }; - var ap = function (dictMonad) { - return function (f) { - return function (a) { - return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) { - return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) { - return Control_Applicative.pure(dictMonad.Applicative0())(v(v1)); - }); - }); - }; - }; - }; - exports["Monad"] = Monad; - exports["ap"] = ap; -})(PS["Control.Monad"] = PS["Control.Monad"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Data_Functor = PS["Data.Functor"]; - var Plus = function (Alt0, empty) { - this.Alt0 = Alt0; - this.empty = empty; - }; - var empty = function (dict) { - return dict.empty; - }; - exports["Plus"] = Plus; - exports["empty"] = empty; -})(PS["Control.Plus"] = PS["Control.Plus"] || {}); -(function(exports) { - "use strict"; - - exports.topInt = 2147483647; - exports.bottomInt = -2147483648; - - exports.topChar = String.fromCharCode(65535); - exports.bottomChar = String.fromCharCode(0); -})(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Bounded"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Unit = PS["Data.Unit"]; - var Bounded = function (Ord0, bottom, top) { - this.Ord0 = Ord0; - this.bottom = bottom; - this.top = top; - }; - var top = function (dict) { - return dict.top; - }; - var boundedInt = new Bounded(function () { - return Data_Ord.ordInt; - }, $foreign.bottomInt, $foreign.topInt); - var boundedChar = new Bounded(function () { - return Data_Ord.ordChar; - }, $foreign.bottomChar, $foreign.topChar); - var bottom = function (dict) { - return dict.bottom; - }; - exports["Bounded"] = Bounded; - exports["bottom"] = bottom; - exports["top"] = top; - exports["boundedInt"] = boundedInt; - exports["boundedChar"] = boundedChar; -})(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); -(function(exports) { - "use strict"; - - exports.intDegree = function (x) { - return Math.min(Math.abs(x), 2147483647); - }; - - // See the Euclidean definition in - // https://en.m.wikipedia.org/wiki/Modulo_operation. - exports.intDiv = function (x) { - return function (y) { - if (y === 0) return 0; - return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y); - }; - }; - - exports.intMod = function (x) { - return function (y) { - if (y === 0) return 0; - var yy = Math.abs(y); - return ((x % yy) + yy) % yy; - }; - }; -})(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var CommutativeRing = function (Ring0) { - this.Ring0 = Ring0; - }; - var commutativeRingInt = new CommutativeRing(function () { - return Data_Ring.ringInt; - }); - exports["CommutativeRing"] = CommutativeRing; - exports["commutativeRingInt"] = commutativeRingInt; -})(PS["Data.CommutativeRing"] = PS["Data.CommutativeRing"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.EuclideanRing"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; - var Data_CommutativeRing = PS["Data.CommutativeRing"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var EuclideanRing = function (CommutativeRing0, degree, div, mod) { - this.CommutativeRing0 = CommutativeRing0; - this.degree = degree; - this.div = div; - this.mod = mod; - }; - var mod = function (dict) { - return dict.mod; - }; - var euclideanRingInt = new EuclideanRing(function () { - return Data_CommutativeRing.commutativeRingInt; - }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod); - var div = function (dict) { - return dict.div; - }; - var degree = function (dict) { - return dict.degree; - }; - exports["EuclideanRing"] = EuclideanRing; - exports["degree"] = degree; - exports["div"] = div; - exports["mod"] = mod; - exports["euclideanRingInt"] = euclideanRingInt; -})(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Unit = PS["Data.Unit"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Monoid = function (Semigroup0, mempty) { - this.Semigroup0 = Semigroup0; - this.mempty = mempty; - }; - var monoidString = new Monoid(function () { - return Data_Semigroup.semigroupString; - }, ""); - var monoidArray = new Monoid(function () { - return Data_Semigroup.semigroupArray; - }, [ ]); - var mempty = function (dict) { - return dict.mempty; - }; - var monoidFn = function (dictMonoid) { - return new Monoid(function () { - return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0()); - }, function (v) { - return mempty(dictMonoid); - }); - }; - var guard = function (dictMonoid) { - return function (v) { - return function (v1) { - if (v) { - return v1; - }; - if (!v) { - return mempty(dictMonoid); - }; - throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): " + [ v.constructor.name, v1.constructor.name ]); - }; - }; - }; - exports["Monoid"] = Monoid; - exports["mempty"] = mempty; - exports["guard"] = guard; - exports["monoidFn"] = monoidFn; - exports["monoidString"] = monoidString; - exports["monoidArray"] = monoidArray; -})(PS["Data.Monoid"] = PS["Data.Monoid"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Monad = PS["Control.Monad"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Nothing = (function () { - function Nothing() { - - }; - Nothing.value = new Nothing(); - return Nothing; - })(); - var Just = (function () { - function Just(value0) { - this.value0 = value0; - }; - Just.create = function (value0) { - return new Just(value0); - }; - return Just; - })(); - var maybe = function (v) { - return function (v1) { - return function (v2) { - if (v2 instanceof Nothing) { - return v; - }; - if (v2 instanceof Just) { - return v1(v2.value0); - }; - 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 ]); - }; - }; - }; - var isNothing = maybe(true)(Data_Function["const"](false)); - var isJust = maybe(false)(Data_Function["const"](true)); - var functorMaybe = new Data_Functor.Functor(function (v) { - return function (v1) { - if (v1 instanceof Just) { - return new Just(v(v1.value0)); - }; - return Nothing.value; - }; - }); - var fromMaybe = function (a) { - return maybe(a)(Control_Category.identity(Control_Category.categoryFn)); - }; - var fromJust = function (dictPartial) { - return function (v) { - if (v instanceof Just) { - return v.value0; - }; - throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): " + [ v.constructor.name ]); - }; - }; - var applyMaybe = new Control_Apply.Apply(function () { - return functorMaybe; - }, function (v) { - return function (v1) { - if (v instanceof Just) { - return Data_Functor.map(functorMaybe)(v.value0)(v1); - }; - if (v instanceof Nothing) { - return Nothing.value; - }; - throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - var bindMaybe = new Control_Bind.Bind(function () { - return applyMaybe; - }, function (v) { - return function (v1) { - if (v instanceof Just) { - return v1(v.value0); - }; - if (v instanceof Nothing) { - return Nothing.value; - }; - throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - exports["Nothing"] = Nothing; - exports["Just"] = Just; - exports["maybe"] = maybe; - exports["fromMaybe"] = fromMaybe; - exports["isJust"] = isJust; - exports["isNothing"] = isNothing; - exports["fromJust"] = fromJust; - exports["functorMaybe"] = functorMaybe; - exports["applyMaybe"] = applyMaybe; - exports["bindMaybe"] = bindMaybe; -})(PS["Data.Maybe"] = PS["Data.Maybe"] || {}); -(function(exports) { - "use strict"; - - exports.empty = {}; - - exports._lookup = function (no, yes, k, m) { - return k in m ? yes(m[k]) : no; - }; - - function toArrayWithKey(f) { - return function (m) { - var r = []; - for (var k in m) { - if (hasOwnProperty.call(m, k)) { - r.push(f(k)(m[k])); - } - } - return r; - }; - } -})(PS["Foreign.Object"] = PS["Foreign.Object"] || {}); -(function(exports) { - "use strict"; - - //------------------------------------------------------------------------------ - // Array size ------------------------------------------------------------------ - //------------------------------------------------------------------------------ - - exports.length = function (xs) { - return xs.length; - }; - - //------------------------------------------------------------------------------ - // Extending arrays ------------------------------------------------------------ - //------------------------------------------------------------------------------ - - exports.cons = function (e) { - return function (l) { - return [e].concat(l); - }; - }; - - exports.snoc = function (l) { - return function (e) { - var l1 = l.slice(); - l1.push(e); - return l1; - }; - }; - - exports.concat = function (xss) { - if (xss.length <= 10000) { - // This method is faster, but it crashes on big arrays. - // So we use it when can and fallback to simple variant otherwise. - return Array.prototype.concat.apply([], xss); - } - - var result = []; - for (var i = 0, l = xss.length; i < l; i++) { - var xs = xss[i]; - for (var j = 0, m = xs.length; j < m; j++) { - result.push(xs[j]); - } - } - return result; - }; - - exports.filter = function (f) { - return function (xs) { - return xs.filter(f); - }; - }; - - //------------------------------------------------------------------------------ - // Subarrays ------------------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.slice = function (s) { - return function (e) { - return function (l) { - return l.slice(s, e); - }; - }; - }; - - exports.drop = function (n) { - return function (l) { - return n < 1 ? l : l.slice(n); - }; - }; -})(PS["Data.Array"] = PS["Data.Array"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Bifunctor = function (bimap) { - this.bimap = bimap; - }; - var bimap = function (dict) { - return dict.bimap; - }; - var rmap = function (dictBifunctor) { - return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn)); - }; - exports["bimap"] = bimap; - exports["Bifunctor"] = Bifunctor; - exports["rmap"] = rmap; -})(PS["Data.Bifunctor"] = PS["Data.Bifunctor"] || {}); -(function(exports) { - "use strict"; - - exports.foldrArray = function (f) { - return function (init) { - return function (xs) { - var acc = init; - var len = xs.length; - for (var i = len - 1; i >= 0; i--) { - acc = f(xs[i])(acc); - } - return acc; - }; - }; - }; - - exports.foldlArray = function (f) { - return function (init) { - return function (xs) { - var acc = init; - var len = xs.length; - for (var i = 0; i < len; i++) { - acc = f(acc)(xs[i]); - } - return acc; - }; - }; - }; -})(PS["Data.Foldable"] = PS["Data.Foldable"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Prelude = PS["Prelude"]; - var Disj = function (x) { - return x; - }; - var semigroupDisj = function (dictHeytingAlgebra) { - return new Data_Semigroup.Semigroup(function (v) { - return function (v1) { - return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1); - }; - }); - }; - var monoidDisj = function (dictHeytingAlgebra) { - return new Data_Monoid.Monoid(function () { - return semigroupDisj(dictHeytingAlgebra); - }, Data_HeytingAlgebra.ff(dictHeytingAlgebra)); - }; - exports["Disj"] = Disj; - exports["semigroupDisj"] = semigroupDisj; - exports["monoidDisj"] = monoidDisj; -})(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; - var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; - var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; - var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; - var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; - var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; - var Data_Semigroup_First = PS["Data.Semigroup.First"]; - var Data_Semigroup_Last = PS["Data.Semigroup.Last"]; - var Prelude = PS["Prelude"]; - var Newtype = function (unwrap, wrap) { - this.unwrap = unwrap; - this.wrap = wrap; - }; - var wrap = function (dict) { - return dict.wrap; - }; - var unwrap = function (dict) { - return dict.unwrap; - }; - var newtypeDisj = new Newtype(function (v) { - return v; - }, Data_Monoid_Disj.Disj); - var alaF = function (dictFunctor) { - return function (dictFunctor1) { - return function (dictNewtype) { - return function (dictNewtype1) { - return function (v) { - return function (f) { - return function ($80) { - return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80))); - }; - }; - }; - }; - }; - }; - }; - exports["unwrap"] = unwrap; - exports["wrap"] = wrap; - exports["Newtype"] = Newtype; - exports["alaF"] = alaF; - exports["newtypeDisj"] = newtypeDisj; -})(PS["Data.Newtype"] = PS["Data.Newtype"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Foldable"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Maybe_First = PS["Data.Maybe.First"]; - var Data_Maybe_Last = PS["Data.Maybe.Last"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; - var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; - var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; - var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; - var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; - var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Foldable = function (foldMap, foldl, foldr) { - this.foldMap = foldMap; - this.foldl = foldl; - this.foldr = foldr; - }; - var foldr = function (dict) { - return dict.foldr; - }; - var traverse_ = function (dictApplicative) { - return function (dictFoldable) { - return function (f) { - return foldr(dictFoldable)(function ($195) { - return Control_Apply.applySecond(dictApplicative.Apply0())(f($195)); - })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); - }; - }; - }; - var for_ = function (dictApplicative) { - return function (dictFoldable) { - return Data_Function.flip(traverse_(dictApplicative)(dictFoldable)); - }; - }; - var sequence_ = function (dictApplicative) { - return function (dictFoldable) { - return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn)); - }; - }; - var foldl = function (dict) { - return dict.foldl; - }; - var foldableMaybe = new Foldable(function (dictMonoid) { - return function (f) { - return function (v) { - if (v instanceof Data_Maybe.Nothing) { - return Data_Monoid.mempty(dictMonoid); - }; - if (v instanceof Data_Maybe.Just) { - return f(v.value0); - }; - throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): " + [ f.constructor.name, v.constructor.name ]); - }; - }; - }, function (v) { - return function (z) { - return function (v1) { - if (v1 instanceof Data_Maybe.Nothing) { - return z; - }; - if (v1 instanceof Data_Maybe.Just) { - return v(z)(v1.value0); - }; - throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); - }; - }; - }, function (v) { - return function (z) { - return function (v1) { - if (v1 instanceof Data_Maybe.Nothing) { - return z; - }; - if (v1 instanceof Data_Maybe.Just) { - return v(v1.value0)(z); - }; - throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); - }; - }; - }); - var foldMapDefaultR = function (dictFoldable) { - return function (dictMonoid) { - return function (f) { - return foldr(dictFoldable)(function (x) { - return function (acc) { - return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc); - }; - })(Data_Monoid.mempty(dictMonoid)); - }; - }; - }; - var foldableArray = new Foldable(function (dictMonoid) { - return foldMapDefaultR(foldableArray)(dictMonoid); - }, $foreign.foldlArray, $foreign.foldrArray); - var foldMap = function (dict) { - return dict.foldMap; - }; - var find = function (dictFoldable) { - return function (p) { - var go = function (v) { - return function (v1) { - if (v instanceof Data_Maybe.Nothing && p(v1)) { - return new Data_Maybe.Just(v1); - }; - return v; - }; - }; - return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value); - }; - }; - var any = function (dictFoldable) { - return function (dictHeytingAlgebra) { - return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra))); - }; - }; - exports["Foldable"] = Foldable; - exports["foldr"] = foldr; - exports["foldl"] = foldl; - exports["foldMap"] = foldMap; - exports["foldMapDefaultR"] = foldMapDefaultR; - exports["traverse_"] = traverse_; - exports["for_"] = for_; - exports["sequence_"] = sequence_; - exports["any"] = any; - exports["find"] = find; - exports["foldableArray"] = foldableArray; - exports["foldableMaybe"] = foldableMaybe; -})(PS["Data.Foldable"] = PS["Data.Foldable"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifoldable = PS["Data.Bifoldable"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Bitraversable = PS["Data.Bitraversable"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Left = (function () { - function Left(value0) { - this.value0 = value0; - }; - Left.create = function (value0) { - return new Left(value0); - }; - return Left; - })(); - var Right = (function () { - function Right(value0) { - this.value0 = value0; - }; - Right.create = function (value0) { - return new Right(value0); - }; - return Right; - })(); - var functorEither = new Data_Functor.Functor(function (f) { - return function (m) { - if (m instanceof Left) { - return new Left(m.value0); - }; - if (m instanceof Right) { - return new Right(f(m.value0)); - }; - throw new Error("Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): " + [ m.constructor.name ]); - }; - }); - var either = function (v) { - return function (v1) { - return function (v2) { - if (v2 instanceof Left) { - return v(v2.value0); - }; - if (v2 instanceof Right) { - return v1(v2.value0); - }; - throw new Error("Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); - }; - }; - }; - var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) { - return function (v1) { - return function (v2) { - if (v2 instanceof Left) { - return new Left(v(v2.value0)); - }; - if (v2 instanceof Right) { - return new Right(v1(v2.value0)); - }; - throw new Error("Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); - }; - }; - }); - var applyEither = new Control_Apply.Apply(function () { - return functorEither; - }, function (v) { - return function (v1) { - if (v instanceof Left) { - return new Left(v.value0); - }; - if (v instanceof Right) { - return Data_Functor.map(functorEither)(v.value0)(v1); - }; - throw new Error("Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - exports["Left"] = Left; - exports["Right"] = Right; - exports["either"] = either; - exports["functorEither"] = functorEither; - exports["bifunctorEither"] = bifunctorEither; - exports["applyEither"] = applyEither; -})(PS["Data.Either"] = PS["Data.Either"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Comonad = PS["Control.Comonad"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad = PS["Control.Monad"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_CommutativeRing = PS["Data.CommutativeRing"]; - var Data_Eq = PS["Data.Eq"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Identity = function (x) { - return x; - }; - var newtypeIdentity = new Data_Newtype.Newtype(function (n) { - return n; - }, Identity); - var functorIdentity = new Data_Functor.Functor(function (f) { - return function (m) { - return f(m); - }; - }); - var applyIdentity = new Control_Apply.Apply(function () { - return functorIdentity; - }, function (v) { - return function (v1) { - return v(v1); - }; - }); - var bindIdentity = new Control_Bind.Bind(function () { - return applyIdentity; - }, function (v) { - return function (f) { - return f(v); - }; - }); - var applicativeIdentity = new Control_Applicative.Applicative(function () { - return applyIdentity; - }, Identity); - var monadIdentity = new Control_Monad.Monad(function () { - return applicativeIdentity; - }, function () { - return bindIdentity; - }); - exports["Identity"] = Identity; - exports["newtypeIdentity"] = newtypeIdentity; - exports["functorIdentity"] = functorIdentity; - exports["applyIdentity"] = applyIdentity; - exports["applicativeIdentity"] = applicativeIdentity; - exports["bindIdentity"] = bindIdentity; - exports["monadIdentity"] = monadIdentity; -})(PS["Data.Identity"] = PS["Data.Identity"] || {}); -(function(exports) { - "use strict"; - - exports.pureE = function (a) { - return function () { - return a; - }; - }; - - exports.bindE = function (a) { - return function (f) { - return function () { - return f(a())(); - }; - }; - }; - - exports.foreachE = function (as) { - return function (f) { - return function () { - for (var i = 0, l = as.length; i < l; i++) { - f(as[i])(); - } - }; - }; - }; -})(PS["Effect"] = PS["Effect"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Prelude = PS["Prelude"]; - var monadEffect = new Control_Monad.Monad(function () { - return applicativeEffect; - }, function () { - return bindEffect; - }); - var bindEffect = new Control_Bind.Bind(function () { - return applyEffect; - }, $foreign.bindE); - var applyEffect = new Control_Apply.Apply(function () { - return functorEffect; - }, Control_Monad.ap(monadEffect)); - var applicativeEffect = new Control_Applicative.Applicative(function () { - return applyEffect; - }, $foreign.pureE); - var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect)); - exports["functorEffect"] = functorEffect; - exports["applyEffect"] = applyEffect; - exports["applicativeEffect"] = applicativeEffect; - exports["bindEffect"] = bindEffect; - exports["monadEffect"] = monadEffect; - exports["foreachE"] = $foreign.foreachE; -})(PS["Effect"] = PS["Effect"] || {}); -(function(exports) { - "use strict"; - - exports.new = function (val) { - return function () { - return { value: val }; - }; - }; - - exports.read = function (ref) { - return function () { - return ref.value; - }; - }; - - exports["modify'"] = function (f) { - return function (ref) { - return function () { - var t = f(ref.value); - ref.value = t.state; - return t.value; - }; - }; - }; - - exports.write = function (val) { - return function (ref) { - return function () { - ref.value = val; - return {}; - }; - }; - }; -})(PS["Effect.Ref"] = PS["Effect.Ref"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.Ref"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var modify = function (f) { - return $foreign["modify'"](function (s) { - var s$prime = f(s); - return { - state: s$prime, - value: s$prime - }; - }); - }; - var modify_ = function (f) { - return function (s) { - return Data_Functor["void"](Effect.functorEffect)(modify(f)(s)); - }; - }; - exports["modify"] = modify; - exports["modify_"] = modify_; - exports["new"] = $foreign["new"]; - exports["read"] = $foreign.read; - exports["modify'"] = $foreign["modify'"]; - exports["write"] = $foreign.write; -})(PS["Effect.Ref"] = PS["Effect.Ref"] || {}); -(function(exports) { - "use strict"; - - // module Partial.Unsafe - - exports.unsafePartial = function (f) { - return f(); - }; -})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {}); -(function(exports) { - "use strict"; - - // module Partial - - exports.crashWith = function () { - return function (msg) { - throw new Error(msg); - }; - }; -})(PS["Partial"] = PS["Partial"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Partial"]; - exports["crashWith"] = $foreign.crashWith; -})(PS["Partial"] = PS["Partial"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Partial.Unsafe"]; - var Partial = PS["Partial"]; - var unsafeCrashWith = function (msg) { - return $foreign.unsafePartial(function (dictPartial) { - return Partial.crashWith(dictPartial)(msg); - }); - }; - exports["unsafeCrashWith"] = unsafeCrashWith; -})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Either = PS["Data.Either"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Ref = PS["Effect.Ref"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Loop = (function () { - function Loop(value0) { - this.value0 = value0; - }; - Loop.create = function (value0) { - return new Loop(value0); - }; - return Loop; - })(); - var Done = (function () { - function Done(value0) { - this.value0 = value0; - }; - Done.create = function (value0) { - return new Done(value0); - }; - return Done; - })(); - var MonadRec = function (Monad0, tailRecM) { - this.Monad0 = Monad0; - this.tailRecM = tailRecM; - }; - var tailRecM = function (dict) { - return dict.tailRecM; - }; - var monadRecEffect = new MonadRec(function () { - return Effect.monadEffect; - }, function (f) { - return function (a) { - var fromDone = function (v) { - if (v instanceof Done) { - return v.value0; - }; - throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): " + [ v.constructor.name ]); - }; - return function __do() { - var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref["new"])(f(a))(); - (function () { - while (!(function __do() { - var v1 = Effect_Ref.read(v)(); - if (v1 instanceof Loop) { - var v2 = f(v1.value0)(); - var v3 = Effect_Ref.write(v2)(v)(); - return false; - }; - if (v1 instanceof Done) { - return true; - }; - throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): " + [ v1.constructor.name ]); - })()) { - - }; - return {}; - })(); - return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))(); - }; - }; - }); - exports["Loop"] = Loop; - exports["Done"] = Done; - exports["MonadRec"] = MonadRec; - exports["tailRecM"] = tailRecM; - exports["monadRecEffect"] = monadRecEffect; -})(PS["Control.Monad.Rec.Class"] = PS["Control.Monad.Rec.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Biapplicative = PS["Control.Biapplicative"]; - var Control_Biapply = PS["Control.Biapply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Comonad = PS["Control.Comonad"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifoldable = PS["Data.Bifoldable"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Bitraversable = PS["Data.Bitraversable"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_CommutativeRing = PS["Data.CommutativeRing"]; - var Data_Distributive = PS["Data.Distributive"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Maybe_First = PS["Data.Maybe.First"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Type_Equality = PS["Type.Equality"]; - var Tuple = (function () { - function Tuple(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Tuple.create = function (value0) { - return function (value1) { - return new Tuple(value0, value1); - }; - }; - return Tuple; - })(); - var snd = function (v) { - return v.value1; - }; - var functorTuple = new Data_Functor.Functor(function (f) { - return function (m) { - return new Tuple(m.value0, f(m.value1)); - }; - }); - var fst = function (v) { - return v.value0; - }; - exports["Tuple"] = Tuple; - exports["fst"] = fst; - exports["snd"] = snd; - exports["functorTuple"] = functorTuple; -})(PS["Data.Tuple"] = PS["Data.Tuple"] || {}); -(function(exports) { - "use strict"; - - exports.unfoldrArrayImpl = function (isNothing) { - return function (fromJust) { - return function (fst) { - return function (snd) { - return function (f) { - return function (b) { - var result = []; - var value = b; - while (true) { // eslint-disable-line no-constant-condition - var maybe = f(value); - if (isNothing(maybe)) return result; - var tuple = fromJust(maybe); - result.push(fst(tuple)); - value = snd(tuple); - } - }; - }; - }; - }; - }; - }; -})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); -(function(exports) { - "use strict"; - - exports.unfoldr1ArrayImpl = function (isNothing) { - return function (fromJust) { - return function (fst) { - return function (snd) { - return function (f) { - return function (b) { - var result = []; - var value = b; - while (true) { // eslint-disable-line no-constant-condition - var tuple = f(value); - result.push(fst(tuple)); - var maybe = snd(tuple); - if (isNothing(maybe)) return result; - value = fromJust(maybe); - } - }; - }; - }; - }; - }; - }; -})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Unfoldable1"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Tuple = PS["Data.Tuple"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Unfoldable1 = function (unfoldr1) { - this.unfoldr1 = unfoldr1; - }; - var unfoldr1 = function (dict) { - return dict.unfoldr1; - }; - var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)); - exports["Unfoldable1"] = Unfoldable1; - exports["unfoldr1"] = unfoldr1; - exports["unfoldable1Array"] = unfoldable1Array; -})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Unfoldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Data_Unit = PS["Data.Unit"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Unfoldable = function (Unfoldable10, unfoldr) { - this.Unfoldable10 = Unfoldable10; - this.unfoldr = unfoldr; - }; - var unfoldr = function (dict) { - return dict.unfoldr; - }; - var unfoldableArray = new Unfoldable(function () { - return Data_Unfoldable1.unfoldable1Array; - }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)); - exports["Unfoldable"] = Unfoldable; - exports["unfoldr"] = unfoldr; - exports["unfoldableArray"] = unfoldableArray; -})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); -(function(exports) { - "use strict"; - - // module Unsafe.Coerce - - exports.unsafeCoerce = function (x) { - return x; - }; -})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Unsafe.Coerce"]; - exports["unsafeCoerce"] = $foreign.unsafeCoerce; -})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Array"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_ST = PS["Control.Monad.ST"]; - var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Array_NonEmpty_Internal = PS["Data.Array.NonEmpty.Internal"]; - var Data_Array_ST = PS["Data.Array.ST"]; - var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var singleton = function (a) { - return [ a ]; - }; - var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray)); - var mapMaybe = function (f) { - return concatMap(function ($114) { - return Data_Maybe.maybe([ ])(singleton)(f($114)); - }); - }; - exports["singleton"] = singleton; - exports["concatMap"] = concatMap; - exports["mapMaybe"] = mapMaybe; - exports["length"] = $foreign.length; - exports["cons"] = $foreign.cons; - exports["snoc"] = $foreign.snoc; - exports["filter"] = $foreign.filter; - exports["drop"] = $foreign.drop; -})(PS["Data.Array"] = PS["Data.Array"] || {}); -(function(exports) { - "use strict"; - - exports["new"] = function () { - return {}; - }; -})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Foreign.Object.ST"]; - var Control_Monad_ST = PS["Control.Monad.ST"]; - var Data_Maybe = PS["Data.Maybe"]; - exports["new"] = $foreign["new"]; -})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Foreign.Object"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad_ST = PS["Control.Monad.ST"]; - var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Array = PS["Data.Array"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Foreign_Object_ST = PS["Foreign.Object.ST"]; - var Prelude = PS["Prelude"]; - var Type_Row_Homogeneous = PS["Type.Row.Homogeneous"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var lookup = Data_Function_Uncurried.runFn4($foreign["_lookup"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); - exports["lookup"] = lookup; - exports["empty"] = $foreign.empty; -})(PS["Foreign.Object"] = PS["Foreign.Object"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Argonaut.Core"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Foreign_Object = PS["Foreign.Object"]; - var Prelude = PS["Prelude"]; - var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty); - exports["jsonEmptyObject"] = jsonEmptyObject; - exports["stringify"] = $foreign.stringify; -})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {}); -(function(exports) { - "use strict"; - - exports.replace = function (s1) { - return function (s2) { - return function (s3) { - return s3.replace(s1, s2); - }; - }; - }; - - exports.replaceAll = function (s1) { - return function (s2) { - return function (s3) { - return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), s2); // eslint-disable-line no-useless-escape - }; - }; - }; - - exports.split = function (sep) { - return function (s) { - return s.split(sep); - }; - }; - - exports.joinWith = function (s) { - return function (xs) { - return xs.join(s); - }; - }; -})(PS["Data.String.Common"] = PS["Data.String.Common"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.String.Common"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Prelude = PS["Prelude"]; - var $$null = function (s) { - return s === ""; - }; - exports["null"] = $$null; - exports["replaceAll"] = $foreign.replaceAll; - exports["split"] = $foreign.split; - exports["joinWith"] = $foreign.joinWith; -})(PS["Data.String.Common"] = PS["Data.String.Common"] || {}); -(function(exports) { - /* globals exports, JSON */ - "use strict"; - - exports.unsafeStringify = function (x) { - return JSON.stringify(x); - }; - exports.unsafeDecodeURIComponent = decodeURIComponent; - exports.unsafeEncodeURIComponent = encodeURIComponent; -})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Global.Unsafe"]; - exports["unsafeStringify"] = $foreign.unsafeStringify; - exports["unsafeDecodeURIComponent"] = $foreign.unsafeDecodeURIComponent; - exports["unsafeEncodeURIComponent"] = $foreign.unsafeEncodeURIComponent; -})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String = PS["Data.String"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_Tuple = PS["Data.Tuple"]; - var Global_Unsafe = PS["Global.Unsafe"]; - var Prelude = PS["Prelude"]; - var toArray = function (v) { - return v; - }; - var encode = (function () { - var encodePart = function (v) { - if (v.value1 instanceof Data_Maybe.Nothing) { - return Global_Unsafe.unsafeEncodeURIComponent(v.value0); - }; - if (v.value1 instanceof Data_Maybe.Just) { - return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + ("=" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0)); - }; - throw new Error("Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): " + [ v.constructor.name ]); - }; - return function ($14) { - return Data_String_Common.joinWith("&")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14))); - }; - })(); - exports["toArray"] = toArray; - exports["encode"] = encode; -})(PS["Data.FormURLEncoded"] = PS["Data.FormURLEncoded"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Prelude = PS["Prelude"]; - var MediaType = function (x) { - return x; - }; - var newtypeMediaType = new Data_Newtype.Newtype(function (n) { - return n; - }, MediaType); - exports["MediaType"] = MediaType; - exports["newtypeMediaType"] = newtypeMediaType; -})(PS["Data.MediaType"] = PS["Data.MediaType"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_MediaType = PS["Data.MediaType"]; - var applicationJSON = "application/json"; - var applicationFormURLEncoded = "application/x-www-form-urlencoded"; - exports["applicationFormURLEncoded"] = applicationFormURLEncoded; - exports["applicationJSON"] = applicationJSON; -})(PS["Data.MediaType.Common"] = PS["Data.MediaType.Common"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; - var Data_FormURLEncoded = PS["Data.FormURLEncoded"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_MediaType = PS["Data.MediaType"]; - var Data_MediaType_Common = PS["Data.MediaType.Common"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_File_Blob = PS["Web.File.Blob"]; - var Web_XHR_FormData = PS["Web.XHR.FormData"]; - var ArrayView = (function () { - function ArrayView(value0) { - this.value0 = value0; - }; - ArrayView.create = function (value0) { - return new ArrayView(value0); - }; - return ArrayView; - })(); - var Blob = (function () { - function Blob(value0) { - this.value0 = value0; - }; - Blob.create = function (value0) { - return new Blob(value0); - }; - return Blob; - })(); - var Document = (function () { - function Document(value0) { - this.value0 = value0; - }; - Document.create = function (value0) { - return new Document(value0); - }; - return Document; - })(); - var $$String = (function () { - function $$String(value0) { - this.value0 = value0; - }; - $$String.create = function (value0) { - return new $$String(value0); - }; - return $$String; - })(); - var FormData = (function () { - function FormData(value0) { - this.value0 = value0; - }; - FormData.create = function (value0) { - return new FormData(value0); - }; - return FormData; - })(); - var FormURLEncoded = (function () { - function FormURLEncoded(value0) { - this.value0 = value0; - }; - FormURLEncoded.create = function (value0) { - return new FormURLEncoded(value0); - }; - return FormURLEncoded; - })(); - var Json = (function () { - function Json(value0) { - this.value0 = value0; - }; - Json.create = function (value0) { - return new Json(value0); - }; - return Json; - })(); - var toMediaType = function (v) { - if (v instanceof FormURLEncoded) { - return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded); - }; - if (v instanceof Json) { - return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON); - }; - return Data_Maybe.Nothing.value; - }; - var string = $$String.create; - exports["ArrayView"] = ArrayView; - exports["Blob"] = Blob; - exports["Document"] = Document; - exports["String"] = $$String; - exports["FormData"] = FormData; - exports["FormURLEncoded"] = FormURLEncoded; - exports["Json"] = Json; - exports["string"] = string; - exports["toMediaType"] = toMediaType; -})(PS["Affjax.RequestBody"] = PS["Affjax.RequestBody"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_MediaType = PS["Data.MediaType"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Prelude = PS["Prelude"]; - var Accept = (function () { - function Accept(value0) { - this.value0 = value0; - }; - Accept.create = function (value0) { - return new Accept(value0); - }; - return Accept; - })(); - var ContentType = (function () { - function ContentType(value0) { - this.value0 = value0; - }; - ContentType.create = function (value0) { - return new ContentType(value0); - }; - return ContentType; - })(); - var RequestHeader = (function () { - function RequestHeader(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - RequestHeader.create = function (value0) { - return function (value1) { - return new RequestHeader(value0, value1); - }; - }; - return RequestHeader; - })(); - var requestHeaderValue = function (v) { - if (v instanceof Accept) { - return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0); - }; - if (v instanceof ContentType) { - return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0); - }; - if (v instanceof RequestHeader) { - return v.value1; - }; - throw new Error("Failed pattern match at Affjax.RequestHeader (line 29, column 1 - line 29, column 46): " + [ v.constructor.name ]); - }; - var requestHeaderName = function (v) { - if (v instanceof Accept) { - return "Accept"; - }; - if (v instanceof ContentType) { - return "Content-Type"; - }; - if (v instanceof RequestHeader) { - return v.value0; - }; - throw new Error("Failed pattern match at Affjax.RequestHeader (line 24, column 1 - line 24, column 45): " + [ v.constructor.name ]); - }; - exports["Accept"] = Accept; - exports["ContentType"] = ContentType; - exports["RequestHeader"] = RequestHeader; - exports["requestHeaderName"] = requestHeaderName; - exports["requestHeaderValue"] = requestHeaderValue; -})(PS["Affjax.RequestHeader"] = PS["Affjax.RequestHeader"] || {}); -(function(exports) { - "use strict"; - - exports.unsafeToForeign = function (value) { - return value; - }; - - exports.unsafeFromForeign = function (value) { - return value; - }; - - exports.typeOf = function (value) { - return typeof value; - }; - - exports.tagOf = function (value) { - return Object.prototype.toString.call(value).slice(8, -1); - }; -})(PS["Foreign"] = PS["Foreign"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var MonadThrow = function (Monad0, throwError) { - this.Monad0 = Monad0; - this.throwError = throwError; - }; - var MonadError = function (MonadThrow0, catchError) { - this.MonadThrow0 = MonadThrow0; - this.catchError = catchError; - }; - var throwError = function (dict) { - return dict.throwError; - }; - var catchError = function (dict) { - return dict.catchError; - }; - var $$try = function (dictMonadError) { - return function (a) { - return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) { - return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21)); - }); - }; - }; - exports["catchError"] = catchError; - exports["throwError"] = throwError; - exports["MonadThrow"] = MonadThrow; - exports["MonadError"] = MonadError; - exports["try"] = $$try; -})(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var MonadState = function (Monad0, state) { - this.Monad0 = Monad0; - this.state = state; - }; - var state = function (dict) { - return dict.state; - }; - var modify_ = function (dictMonadState) { - return function (f) { - return state(dictMonadState)(function (s) { - return new Data_Tuple.Tuple(Data_Unit.unit, f(s)); - }); - }; - }; - var modify = function (dictMonadState) { - return function (f) { - return state(dictMonadState)(function (s) { - var s$prime = f(s); - return new Data_Tuple.Tuple(s$prime, s$prime); - }); - }; - }; - var gets = function (dictMonadState) { - return function (f) { - return state(dictMonadState)(function (s) { - return new Data_Tuple.Tuple(f(s), s); - }); - }; - }; - var get = function (dictMonadState) { - return state(dictMonadState)(function (s) { - return new Data_Tuple.Tuple(s, s); - }); - }; - exports["state"] = state; - exports["MonadState"] = MonadState; - exports["get"] = get; - exports["gets"] = gets; - exports["modify"] = modify; - exports["modify_"] = modify_; -})(PS["Control.Monad.State.Class"] = PS["Control.Monad.State.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Prelude = PS["Prelude"]; - var MonadTrans = function (lift) { - this.lift = lift; - }; - var lift = function (dict) { - return dict.lift; - }; - exports["lift"] = lift; - exports["MonadTrans"] = MonadTrans; -})(PS["Control.Monad.Trans.Class"] = PS["Control.Monad.Trans.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Monad = PS["Control.Monad"]; - var Effect = PS["Effect"]; - var MonadEffect = function (Monad0, liftEffect) { - this.Monad0 = Monad0; - this.liftEffect = liftEffect; - }; - var liftEffect = function (dict) { - return dict.liftEffect; - }; - exports["liftEffect"] = liftEffect; - exports["MonadEffect"] = MonadEffect; -})(PS["Effect.Class"] = PS["Effect.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Tuple = PS["Data.Tuple"]; - var Effect_Class = PS["Effect.Class"]; - var Prelude = PS["Prelude"]; - var ExceptT = function (x) { - return x; - }; - var runExceptT = function (v) { - return v; - }; - var mapExceptT = function (f) { - return function (v) { - return f(v); - }; - }; - var functorExceptT = function (dictFunctor) { - return new Data_Functor.Functor(function (f) { - return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f))); - }); - }; - var monadExceptT = function (dictMonad) { - return new Control_Monad.Monad(function () { - return applicativeExceptT(dictMonad); - }, function () { - return bindExceptT(dictMonad); - }); - }; - var bindExceptT = function (dictMonad) { - return new Control_Bind.Bind(function () { - return applyExceptT(dictMonad); - }, function (v) { - return function (k) { - return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) { - return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97)); - })(function (a) { - var v1 = k(a); - return v1; - })); - }; - }); - }; - var applyExceptT = function (dictMonad) { - return new Control_Apply.Apply(function () { - return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0()); - }, Control_Monad.ap(monadExceptT(dictMonad))); - }; - var applicativeExceptT = function (dictMonad) { - return new Control_Applicative.Applicative(function () { - return applyExceptT(dictMonad); - }, function ($98) { - return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98))); - }); - }; - var monadThrowExceptT = function (dictMonad) { - return new Control_Monad_Error_Class.MonadThrow(function () { - return monadExceptT(dictMonad); - }, function ($102) { - return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102))); - }); - }; - exports["ExceptT"] = ExceptT; - exports["runExceptT"] = runExceptT; - exports["mapExceptT"] = mapExceptT; - exports["functorExceptT"] = functorExceptT; - exports["applyExceptT"] = applyExceptT; - exports["applicativeExceptT"] = applicativeExceptT; - exports["bindExceptT"] = bindExceptT; - exports["monadExceptT"] = monadExceptT; - exports["monadThrowExceptT"] = monadThrowExceptT; -})(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Newtype = PS["Data.Newtype"]; - var Prelude = PS["Prelude"]; - var runExcept = function ($0) { - return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0)); - }; - exports["runExcept"] = runExcept; -})(PS["Control.Monad.Except"] = PS["Control.Monad.Except"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Prelude = PS["Prelude"]; - var NonEmpty = (function () { - function NonEmpty(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NonEmpty.create = function (value0) { - return function (value1) { - return new NonEmpty(value0, value1); - }; - }; - return NonEmpty; - })(); - var singleton = function (dictPlus) { - return function (a) { - return new NonEmpty(a, Control_Plus.empty(dictPlus)); - }; - }; - exports["NonEmpty"] = NonEmpty; - exports["singleton"] = singleton; -})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Comonad = PS["Control.Comonad"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Monad = PS["Control.Monad"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Prelude = PS["Prelude"]; - var Nil = (function () { - function Nil() { - - }; - Nil.value = new Nil(); - return Nil; - })(); - var Cons = (function () { - function Cons(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Cons.create = function (value0) { - return function (value1) { - return new Cons(value0, value1); - }; - }; - return Cons; - })(); - var NonEmptyList = function (x) { - return x; - }; - var foldableList = new Data_Foldable.Foldable(function (dictMonoid) { - return function (f) { - return Data_Foldable.foldl(foldableList)(function (acc) { - return function ($174) { - return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174)); - }; - })(Data_Monoid.mempty(dictMonoid)); - }; - }, function (f) { - var go = function ($copy_b) { - return function ($copy_v) { - var $tco_var_b = $copy_b; - var $tco_done = false; - var $tco_result; - function $tco_loop(b, v) { - if (v instanceof Nil) { - $tco_done = true; - return b; - }; - if (v instanceof Cons) { - $tco_var_b = f(b)(v.value0); - $copy_v = v.value1; - return; - }; - throw new Error("Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): " + [ v.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_b, $copy_v); - }; - return $tco_result; - }; - }; - return go; - }, function (f) { - return function (b) { - var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value); - return function ($175) { - return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175)); - }; - }; - }); - var functorList = new Data_Functor.Functor(function (f) { - return Data_Foldable.foldr(foldableList)(function (x) { - return function (acc) { - return new Cons(f(x), acc); - }; - })(Nil.value); - }); - var semigroupList = new Data_Semigroup.Semigroup(function (xs) { - return function (ys) { - return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs); - }; - }); - var applyList = new Control_Apply.Apply(function () { - return functorList; - }, function (v) { - return function (v1) { - if (v instanceof Nil) { - return Nil.value; - }; - if (v instanceof Cons) { - return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1)); - }; - throw new Error("Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - var applicativeList = new Control_Applicative.Applicative(function () { - return applyList; - }, function (a) { - return new Cons(a, Nil.value); - }); - var altList = new Control_Alt.Alt(function () { - return functorList; - }, Data_Semigroup.append(semigroupList)); - var plusList = new Control_Plus.Plus(function () { - return altList; - }, Nil.value); - exports["Nil"] = Nil; - exports["Cons"] = Cons; - exports["NonEmptyList"] = NonEmptyList; - exports["semigroupList"] = semigroupList; - exports["functorList"] = functorList; - exports["foldableList"] = foldableList; - exports["applyList"] = applyList; - exports["applicativeList"] = applicativeList; - exports["altList"] = altList; - exports["plusList"] = plusList; -})(PS["Data.List.Types"] = PS["Data.List.Types"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var reverse = (function () { - var go = function ($copy_acc) { - return function ($copy_v) { - var $tco_var_acc = $copy_acc; - var $tco_done = false; - var $tco_result; - function $tco_loop(acc, v) { - if (v instanceof Data_List_Types.Nil) { - $tco_done = true; - return acc; - }; - if (v instanceof Data_List_Types.Cons) { - $tco_var_acc = new Data_List_Types.Cons(v.value0, acc); - $copy_v = v.value1; - return; - }; - throw new Error("Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): " + [ acc.constructor.name, v.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_acc, $copy_v); - }; - return $tco_result; - }; - }; - return go(Data_List_Types.Nil.value); - })(); - var $$null = function (v) { - if (v instanceof Data_List_Types.Nil) { - return true; - }; - return false; - }; - var fromFoldable = function (dictFoldable) { - return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value); - }; - exports["fromFoldable"] = fromFoldable; - exports["null"] = $$null; - exports["reverse"] = reverse; -})(PS["Data.List"] = PS["Data.List"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var singleton = function ($165) { - return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165)); - }; - var head = function (v) { - return v.value0; - }; - var cons = function (y) { - return function (v) { - return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1)); - }; - }; - exports["singleton"] = singleton; - exports["cons"] = cons; - exports["head"] = head; -})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {}); -(function(exports) { - "use strict"; - - exports.singleton = function (c) { - return c; - }; - - exports.length = function (s) { - return s.length; - }; - - exports.drop = function (n) { - return function (s) { - return s.substring(n); - }; - }; -})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {}); -(function(exports) { - "use strict"; - - exports.charAt = function (i) { - return function (s) { - if (i >= 0 && i < s.length) return s.charAt(i); - throw new Error("Data.String.Unsafe.charAt: Invalid index."); - }; - }; -})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.String.Unsafe"]; - exports["charAt"] = $foreign.charAt; -})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.String.CodeUnits"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_String_Unsafe = PS["Data.String.Unsafe"]; - var Prelude = PS["Prelude"]; - exports["singleton"] = $foreign.singleton; - exports["length"] = $foreign.length; - exports["drop"] = $foreign.drop; -})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Foreign"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Int = PS["Data.Int"]; - var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String_CodeUnits = PS["Data.String.CodeUnits"]; - var Prelude = PS["Prelude"]; - var ForeignError = (function () { - function ForeignError(value0) { - this.value0 = value0; - }; - ForeignError.create = function (value0) { - return new ForeignError(value0); - }; - return ForeignError; - })(); - var TypeMismatch = (function () { - function TypeMismatch(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - TypeMismatch.create = function (value0) { - return function (value1) { - return new TypeMismatch(value0, value1); - }; - }; - return TypeMismatch; - })(); - var fail = function ($107) { - return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107)); - }; - var unsafeReadTagged = function (tag) { - return function (value) { - if ($foreign.tagOf(value) === tag) { - return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value)); - }; - if (Data_Boolean.otherwise) { - return fail(new TypeMismatch(tag, $foreign.tagOf(value))); - }; - throw new Error("Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): " + [ tag.constructor.name, value.constructor.name ]); - }; - }; - var readBoolean = unsafeReadTagged("Boolean"); - var readString = unsafeReadTagged("String"); - exports["ForeignError"] = ForeignError; - exports["TypeMismatch"] = TypeMismatch; - exports["unsafeReadTagged"] = unsafeReadTagged; - exports["readString"] = readString; - exports["readBoolean"] = readBoolean; - exports["fail"] = fail; - exports["unsafeToForeign"] = $foreign.unsafeToForeign; - exports["typeOf"] = $foreign.typeOf; -})(PS["Foreign"] = PS["Foreign"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_MediaType = PS["Data.MediaType"]; - var Data_MediaType_Common = PS["Data.MediaType.Common"]; - var Foreign = PS["Foreign"]; - var Prelude = PS["Prelude"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_File_Blob = PS["Web.File.Blob"]; - var ResponseFormatError = (function () { - function ResponseFormatError(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - ResponseFormatError.create = function (value0) { - return function (value1) { - return new ResponseFormatError(value0, value1); - }; - }; - return ResponseFormatError; - })(); - var $$ArrayBuffer = (function () { - function $$ArrayBuffer(value0) { - this.value0 = value0; - }; - $$ArrayBuffer.create = function (value0) { - return new $$ArrayBuffer(value0); - }; - return $$ArrayBuffer; - })(); - var Blob = (function () { - function Blob(value0) { - this.value0 = value0; - }; - Blob.create = function (value0) { - return new Blob(value0); - }; - return Blob; - })(); - var Document = (function () { - function Document(value0) { - this.value0 = value0; - }; - Document.create = function (value0) { - return new Document(value0); - }; - return Document; - })(); - var Json = (function () { - function Json(value0) { - this.value0 = value0; - }; - Json.create = function (value0) { - return new Json(value0); - }; - return Json; - })(); - var $$String = (function () { - function $$String(value0) { - this.value0 = value0; - }; - $$String.create = function (value0) { - return new $$String(value0); - }; - return $$String; - })(); - var Ignore = (function () { - function Ignore(value0) { - this.value0 = value0; - }; - Ignore.create = function (value0) { - return new Ignore(value0); - }; - return Ignore; - })(); - var toResponseType = function (v) { - if (v instanceof $$ArrayBuffer) { - return "arraybuffer"; - }; - if (v instanceof Blob) { - return "blob"; - }; - if (v instanceof Document) { - return "document"; - }; - if (v instanceof Json) { - return "text"; - }; - if (v instanceof $$String) { - return "text"; - }; - if (v instanceof Ignore) { - return ""; - }; - throw new Error("Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): " + [ v.constructor.name ]); - }; - var toMediaType = function (v) { - if (v instanceof Json) { - return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON); - }; - return Data_Maybe.Nothing.value; - }; - var json = new Json(Control_Category.identity(Control_Category.categoryFn)); - var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn)); - exports["ArrayBuffer"] = $$ArrayBuffer; - exports["Blob"] = Blob; - exports["Document"] = Document; - exports["Json"] = Json; - exports["String"] = $$String; - exports["Ignore"] = Ignore; - exports["json"] = json; - exports["ignore"] = ignore; - exports["toResponseType"] = toResponseType; - exports["toMediaType"] = toMediaType; - exports["ResponseFormatError"] = ResponseFormatError; -})(PS["Affjax.ResponseFormat"] = PS["Affjax.ResponseFormat"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Prelude = PS["Prelude"]; - var ResponseHeader = (function () { - function ResponseHeader(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - ResponseHeader.create = function (value0) { - return function (value1) { - return new ResponseHeader(value0, value1); - }; - }; - return ResponseHeader; - })(); - var responseHeader = function (field) { - return function (value) { - return new ResponseHeader(field, value); - }; - }; - exports["responseHeader"] = responseHeader; -})(PS["Affjax.ResponseHeader"] = PS["Affjax.ResponseHeader"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"]; - var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; - var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Compose = PS["Data.Functor.Compose"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Ref = PS["Effect.Ref"]; - var Prelude = PS["Prelude"]; - var Parallel = function (Applicative1, Monad0, parallel, sequential) { - this.Applicative1 = Applicative1; - this.Monad0 = Monad0; - this.parallel = parallel; - this.sequential = sequential; - }; - var sequential = function (dict) { - return dict.sequential; - }; - var parallel = function (dict) { - return dict.parallel; - }; - exports["parallel"] = parallel; - exports["sequential"] = sequential; - exports["Parallel"] = Parallel; -})(PS["Control.Parallel.Class"] = PS["Control.Parallel.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Control_Parallel_Class = PS["Control.Parallel.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Traversable = PS["Data.Traversable"]; - var Prelude = PS["Prelude"]; - var parTraverse_ = function (dictParallel) { - return function (dictFoldable) { - return function (f) { - return function ($17) { - return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) { - return Control_Parallel_Class.parallel(dictParallel)(f($18)); - })($17)); - }; - }; - }; - }; - var parSequence_ = function (dictParallel) { - return function (dictFoldable) { - return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn)); - }; - }; - exports["parTraverse_"] = parTraverse_; - exports["parSequence_"] = parSequence_; -})(PS["Control.Parallel"] = PS["Control.Parallel"] || {}); -(function(exports) { - "use strict"; - - exports._jsonParser = function (fail, succ, s) { - try { - return succ(JSON.parse(s)); - } - catch (e) { - return fail(e.message); - } - }; -})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Argonaut.Parser"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Either = PS["Data.Either"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var jsonParser = function (j) { - return $foreign["_jsonParser"](Data_Either.Left.create, Data_Either.Right.create, j); - }; - exports["jsonParser"] = jsonParser; -})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String = PS["Data.String"]; - var Data_String_Common = PS["Data.String.Common"]; - var Prelude = PS["Prelude"]; - var OPTIONS = (function () { - function OPTIONS() { - - }; - OPTIONS.value = new OPTIONS(); - return OPTIONS; - })(); - var GET = (function () { - function GET() { - - }; - GET.value = new GET(); - return GET; - })(); - var HEAD = (function () { - function HEAD() { - - }; - HEAD.value = new HEAD(); - return HEAD; - })(); - var POST = (function () { - function POST() { - - }; - POST.value = new POST(); - return POST; - })(); - var PUT = (function () { - function PUT() { - - }; - PUT.value = new PUT(); - return PUT; - })(); - var DELETE = (function () { - function DELETE() { - - }; - DELETE.value = new DELETE(); - return DELETE; - })(); - var TRACE = (function () { - function TRACE() { - - }; - TRACE.value = new TRACE(); - return TRACE; - })(); - var CONNECT = (function () { - function CONNECT() { - - }; - CONNECT.value = new CONNECT(); - return CONNECT; - })(); - var PROPFIND = (function () { - function PROPFIND() { - - }; - PROPFIND.value = new PROPFIND(); - return PROPFIND; - })(); - var PROPPATCH = (function () { - function PROPPATCH() { - - }; - PROPPATCH.value = new PROPPATCH(); - return PROPPATCH; - })(); - var MKCOL = (function () { - function MKCOL() { - - }; - MKCOL.value = new MKCOL(); - return MKCOL; - })(); - var COPY = (function () { - function COPY() { - - }; - COPY.value = new COPY(); - return COPY; - })(); - var MOVE = (function () { - function MOVE() { - - }; - MOVE.value = new MOVE(); - return MOVE; - })(); - var LOCK = (function () { - function LOCK() { - - }; - LOCK.value = new LOCK(); - return LOCK; - })(); - var UNLOCK = (function () { - function UNLOCK() { - - }; - UNLOCK.value = new UNLOCK(); - return UNLOCK; - })(); - var PATCH = (function () { - function PATCH() { - - }; - PATCH.value = new PATCH(); - return PATCH; - })(); - var unCustomMethod = function (v) { - return v; - }; - var showMethod = new Data_Show.Show(function (v) { - if (v instanceof OPTIONS) { - return "OPTIONS"; - }; - if (v instanceof GET) { - return "GET"; - }; - if (v instanceof HEAD) { - return "HEAD"; - }; - if (v instanceof POST) { - return "POST"; - }; - if (v instanceof PUT) { - return "PUT"; - }; - if (v instanceof DELETE) { - return "DELETE"; - }; - if (v instanceof TRACE) { - return "TRACE"; - }; - if (v instanceof CONNECT) { - return "CONNECT"; - }; - if (v instanceof PROPFIND) { - return "PROPFIND"; - }; - if (v instanceof PROPPATCH) { - return "PROPPATCH"; - }; - if (v instanceof MKCOL) { - return "MKCOL"; - }; - if (v instanceof COPY) { - return "COPY"; - }; - if (v instanceof MOVE) { - return "MOVE"; - }; - if (v instanceof LOCK) { - return "LOCK"; - }; - if (v instanceof UNLOCK) { - return "UNLOCK"; - }; - if (v instanceof PATCH) { - return "PATCH"; - }; - throw new Error("Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): " + [ v.constructor.name ]); - }); - var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod); - exports["OPTIONS"] = OPTIONS; - exports["GET"] = GET; - exports["HEAD"] = HEAD; - exports["POST"] = POST; - exports["PUT"] = PUT; - exports["DELETE"] = DELETE; - exports["TRACE"] = TRACE; - exports["CONNECT"] = CONNECT; - exports["PROPFIND"] = PROPFIND; - exports["PROPPATCH"] = PROPPATCH; - exports["MKCOL"] = MKCOL; - exports["COPY"] = COPY; - exports["MOVE"] = MOVE; - exports["LOCK"] = LOCK; - exports["UNLOCK"] = UNLOCK; - exports["PATCH"] = PATCH; - exports["unCustomMethod"] = unCustomMethod; - exports["print"] = print; - exports["showMethod"] = showMethod; -})(PS["Data.HTTP.Method"] = PS["Data.HTTP.Method"] || {}); -(function(exports) { - "use strict"; - - exports["null"] = null; - - exports.nullable = function (a, r, f) { - return a == null ? r : f(a); - }; - - exports.notNull = function (x) { - return x; - }; -})(PS["Data.Nullable"] = PS["Data.Nullable"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Nullable"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Show = PS["Data.Show"]; - var Prelude = PS["Prelude"]; - var toNullable = Data_Maybe.maybe($foreign["null"])($foreign.notNull); - var toMaybe = function (n) { - return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create); - }; - exports["toMaybe"] = toMaybe; - exports["toNullable"] = toNullable; -})(PS["Data.Nullable"] = PS["Data.Nullable"] || {}); -(function(exports) { - /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */ - /* jshint -W083, -W098, -W003 */ - "use strict"; - - var Aff = function () { - // A unique value for empty. - var EMPTY = {}; - - /* - - An awkward approximation. We elide evidence we would otherwise need in PS for - efficiency sake. - - data Aff eff a - = Pure a - | Throw Error - | Catch (Aff eff a) (Error -> Aff eff a) - | Sync (Eff eff a) - | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff)) - | forall b. Bind (Aff eff b) (b -> Aff eff a) - | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a) - | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a) - | Sequential (ParAff aff a) - - */ - var PURE = "Pure"; - var THROW = "Throw"; - var CATCH = "Catch"; - var SYNC = "Sync"; - var ASYNC = "Async"; - var BIND = "Bind"; - var BRACKET = "Bracket"; - var FORK = "Fork"; - var SEQ = "Sequential"; - - /* - - data ParAff eff a - = forall b. Map (b -> a) (ParAff eff b) - | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b) - | Alt (ParAff eff a) (ParAff eff a) - | ?Par (Aff eff a) - - */ - var MAP = "Map"; - var APPLY = "Apply"; - var ALT = "Alt"; - - // Various constructors used in interpretation - var CONS = "Cons"; // Cons-list, for stacks - var RESUME = "Resume"; // Continue indiscriminately - var RELEASE = "Release"; // Continue with bracket finalizers - var FINALIZER = "Finalizer"; // A non-interruptible effect - var FINALIZED = "Finalized"; // Marker for finalization - var FORKED = "Forked"; // Reference to a forked fiber, with resumption stack - var FIBER = "Fiber"; // Actual fiber reference - var THUNK = "Thunk"; // Primed effect, ready to invoke - - function Aff(tag, _1, _2, _3) { - this.tag = tag; - this._1 = _1; - this._2 = _2; - this._3 = _3; - } - - function AffCtr(tag) { - var fn = function (_1, _2, _3) { - return new Aff(tag, _1, _2, _3); - }; - fn.tag = tag; - return fn; - } - - function nonCanceler(error) { - return new Aff(PURE, void 0); - } - - function runEff(eff) { - try { - eff(); - } catch (error) { - setTimeout(function () { - throw error; - }, 0); - } - } - - function runSync(left, right, eff) { - try { - return right(eff()); - } catch (error) { - return left(error); - } - } - - function runAsync(left, eff, k) { - try { - return eff(k)(); - } catch (error) { - k(left(error))(); - return nonCanceler; - } - } - - var Scheduler = function () { - var limit = 1024; - var size = 0; - var ix = 0; - var queue = new Array(limit); - var draining = false; - - function drain() { - var thunk; - draining = true; - while (size !== 0) { - size--; - thunk = queue[ix]; - queue[ix] = void 0; - ix = (ix + 1) % limit; - thunk(); - } - draining = false; - } - - return { - isDraining: function () { - return draining; - }, - enqueue: function (cb) { - var i, tmp; - if (size === limit) { - tmp = draining; - drain(); - draining = tmp; - } - - queue[(ix + size) % limit] = cb; - size++; - - if (!draining) { - drain(); - } - } - }; - }(); - - function Supervisor(util) { - var fibers = {}; - var fiberId = 0; - var count = 0; - - return { - register: function (fiber) { - var fid = fiberId++; - fiber.onComplete({ - rethrow: true, - handler: function (result) { - return function () { - count--; - delete fibers[fid]; - }; - } - }); - fibers[fid] = fiber; - count++; - }, - isEmpty: function () { - return count === 0; - }, - killAll: function (killError, cb) { - return function () { - var killCount = 0; - var kills = {}; - - function kill(fid) { - kills[fid] = fibers[fid].kill(killError, function (result) { - return function () { - delete kills[fid]; - killCount--; - if (util.isLeft(result) && util.fromLeft(result)) { - setTimeout(function () { - throw util.fromLeft(result); - }, 0); - } - if (killCount === 0) { - cb(); - } - }; - })(); - } - - for (var k in fibers) { - if (fibers.hasOwnProperty(k)) { - killCount++; - kill(k); - } - } - - fibers = {}; - fiberId = 0; - count = 0; - - return function (error) { - return new Aff(SYNC, function () { - for (var k in kills) { - if (kills.hasOwnProperty(k)) { - kills[k](); - } - } - }); - }; - }; - } - }; - } - - // Fiber state machine - var SUSPENDED = 0; // Suspended, pending a join. - var CONTINUE = 1; // Interpret the next instruction. - var STEP_BIND = 2; // Apply the next bind. - var STEP_RESULT = 3; // Handle potential failure from a result. - var PENDING = 4; // An async effect is running. - var RETURN = 5; // The current stack has returned. - var COMPLETED = 6; // The entire fiber has completed. - - function Fiber(util, supervisor, aff) { - // Monotonically increasing tick, increased on each asynchronous turn. - var runTick = 0; - - // The current branch of the state machine. - var status = SUSPENDED; - - // The current point of interest for the state machine branch. - var step = aff; // Successful step - var fail = null; // Failure step - var interrupt = null; // Asynchronous interrupt - - // Stack of continuations for the current fiber. - var bhead = null; - var btail = null; - - // Stack of attempts and finalizers for error recovery. Every `Cons` is also - // tagged with current `interrupt` state. We use this to track which items - // should be ignored or evaluated as a result of a kill. - var attempts = null; - - // A special state is needed for Bracket, because it cannot be killed. When - // we enter a bracket acquisition or finalizer, we increment the counter, - // and then decrement once complete. - var bracketCount = 0; - - // Each join gets a new id so they can be revoked. - var joinId = 0; - var joins = null; - var rethrow = true; - - // Each invocation of `run` requires a tick. When an asynchronous effect is - // resolved, we must check that the local tick coincides with the fiber - // tick before resuming. This prevents multiple async continuations from - // accidentally resuming the same fiber. A common example may be invoking - // the provided callback in `makeAff` more than once, but it may also be an - // async effect resuming after the fiber was already cancelled. - function run(localRunTick) { - var tmp, result, attempt; - while (true) { - tmp = null; - result = null; - attempt = null; - - switch (status) { - case STEP_BIND: - status = CONTINUE; - step = bhead(step); - if (btail === null) { - bhead = null; - } else { - bhead = btail._1; - btail = btail._2; - } - break; - - case STEP_RESULT: - if (util.isLeft(step)) { - status = RETURN; - fail = step; - step = null; - } else if (bhead === null) { - status = RETURN; - } else { - status = STEP_BIND; - step = util.fromRight(step); - } - break; - - case CONTINUE: - switch (step.tag) { - case BIND: - if (bhead) { - btail = new Aff(CONS, bhead, btail); - } - bhead = step._2; - status = CONTINUE; - step = step._1; - break; - - case PURE: - if (bhead === null) { - status = RETURN; - step = util.right(step._1); - } else { - status = STEP_BIND; - step = step._1; - } - break; - - case SYNC: - status = STEP_RESULT; - step = runSync(util.left, util.right, step._1); - break; - - case ASYNC: - status = PENDING; - step = runAsync(util.left, step._1, function (result) { - return function () { - if (runTick !== localRunTick) { - return; - } - runTick++; - Scheduler.enqueue(function () { - // It's possible to interrupt the fiber between enqueuing and - // resuming, so we need to check that the runTick is still - // valid. - if (runTick !== localRunTick + 1) { - return; - } - status = STEP_RESULT; - step = result; - run(runTick); - }); - }; - }); - return; - - case THROW: - status = RETURN; - fail = util.left(step._1); - step = null; - break; - - // Enqueue the Catch so that we can call the error handler later on - // in case of an exception. - case CATCH: - if (bhead === null) { - attempts = new Aff(CONS, step, attempts, interrupt); - } else { - attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt); - } - bhead = null; - btail = null; - status = CONTINUE; - step = step._1; - break; - - // Enqueue the Bracket so that we can call the appropriate handlers - // after resource acquisition. - case BRACKET: - bracketCount++; - if (bhead === null) { - attempts = new Aff(CONS, step, attempts, interrupt); - } else { - attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt); - } - bhead = null; - btail = null; - status = CONTINUE; - step = step._1; - break; - - case FORK: - status = STEP_RESULT; - tmp = Fiber(util, supervisor, step._2); - if (supervisor) { - supervisor.register(tmp); - } - if (step._1) { - tmp.run(); - } - step = util.right(tmp); - break; - - case SEQ: - status = CONTINUE; - step = sequential(util, supervisor, step._1); - break; - } - break; - - case RETURN: - bhead = null; - btail = null; - // If the current stack has returned, and we have no other stacks to - // resume or finalizers to run, the fiber has halted and we can - // invoke all join callbacks. Otherwise we need to resume. - if (attempts === null) { - status = COMPLETED; - step = interrupt || fail || step; - } else { - // The interrupt status for the enqueued item. - tmp = attempts._3; - attempt = attempts._1; - attempts = attempts._2; - - switch (attempt.tag) { - // We cannot recover from an interrupt. Otherwise we should - // continue stepping, or run the exception handler if an exception - // was raised. - case CATCH: - // We should compare the interrupt status as well because we - // only want it to apply if there has been an interrupt since - // enqueuing the catch. - if (interrupt && interrupt !== tmp) { - status = RETURN; - } else if (fail) { - status = CONTINUE; - step = attempt._2(util.fromLeft(fail)); - fail = null; - } - break; - - // We cannot resume from an interrupt or exception. - case RESUME: - // As with Catch, we only want to ignore in the case of an - // interrupt since enqueing the item. - if (interrupt && interrupt !== tmp || fail) { - status = RETURN; - } else { - bhead = attempt._1; - btail = attempt._2; - status = STEP_BIND; - step = util.fromRight(step); - } - break; - - // If we have a bracket, we should enqueue the handlers, - // and continue with the success branch only if the fiber has - // not been interrupted. If the bracket acquisition failed, we - // should not run either. - case BRACKET: - bracketCount--; - if (fail === null) { - result = util.fromRight(step); - // We need to enqueue the Release with the same interrupt - // status as the Bracket that is initiating it. - attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp); - // We should only coninue as long as the interrupt status has not changed or - // we are currently within a non-interruptable finalizer. - if (interrupt === tmp || bracketCount > 0) { - status = CONTINUE; - step = attempt._3(result); - } - } - break; - - // Enqueue the appropriate handler. We increase the bracket count - // because it should not be cancelled. - case RELEASE: - bracketCount++; - attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt); - status = CONTINUE; - // It has only been killed if the interrupt status has changed - // since we enqueued the item. - if (interrupt && interrupt !== tmp) { - step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2); - } else if (fail) { - step = attempt._1.failed(util.fromLeft(fail))(attempt._2); - } else { - step = attempt._1.completed(util.fromRight(step))(attempt._2); - } - fail = null; - break; - - case FINALIZER: - bracketCount++; - attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt); - status = CONTINUE; - step = attempt._1; - break; - - case FINALIZED: - bracketCount--; - status = RETURN; - step = attempt._1; - fail = attempt._2; - break; - } - } - break; - - case COMPLETED: - for (var k in joins) { - if (joins.hasOwnProperty(k)) { - rethrow = rethrow && joins[k].rethrow; - runEff(joins[k].handler(step)); - } - } - joins = null; - // If we have an interrupt and a fail, then the thread threw while - // running finalizers. This should always rethrow in a fresh stack. - if (interrupt && fail) { - setTimeout(function () { - throw util.fromLeft(fail); - }, 0); - // If we have an unhandled exception, and no other fiber has joined - // then we need to throw the exception in a fresh stack. - } else if (util.isLeft(step) && rethrow) { - setTimeout(function () { - // Guard on reathrow because a completely synchronous fiber can - // still have an observer which was added after-the-fact. - if (rethrow) { - throw util.fromLeft(step); - } - }, 0); - } - return; - case SUSPENDED: - status = CONTINUE; - break; - case PENDING: return; - } - } - } - - function onComplete(join) { - return function () { - if (status === COMPLETED) { - rethrow = rethrow && join.rethrow; - join.handler(step)(); - return function () {}; - } - - var jid = joinId++; - joins = joins || {}; - joins[jid] = join; - - return function() { - if (joins !== null) { - delete joins[jid]; - } - }; - }; - } - - function kill(error, cb) { - return function () { - if (status === COMPLETED) { - cb(util.right(void 0))(); - return function () {}; - } - - var canceler = onComplete({ - rethrow: false, - handler: function (/* unused */) { - return cb(util.right(void 0)); - } - })(); - - switch (status) { - case SUSPENDED: - interrupt = util.left(error); - status = COMPLETED; - step = interrupt; - run(runTick); - break; - case PENDING: - if (interrupt === null) { - interrupt = util.left(error); - } - if (bracketCount === 0) { - if (status === PENDING) { - attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt); - } - status = RETURN; - step = null; - fail = null; - run(++runTick); - } - break; - default: - if (interrupt === null) { - interrupt = util.left(error); - } - if (bracketCount === 0) { - status = RETURN; - step = null; - fail = null; - } - } - - return canceler; - }; - } - - function join(cb) { - return function () { - var canceler = onComplete({ - rethrow: false, - handler: cb - })(); - if (status === SUSPENDED) { - run(runTick); - } - return canceler; - }; - } - - return { - kill: kill, - join: join, - onComplete: onComplete, - isSuspended: function () { - return status === SUSPENDED; - }, - run: function () { - if (status === SUSPENDED) { - if (!Scheduler.isDraining()) { - Scheduler.enqueue(function () { - run(runTick); - }); - } else { - run(runTick); - } - } - } - }; - } - - function runPar(util, supervisor, par, cb) { - // Table of all forked fibers. - var fiberId = 0; - var fibers = {}; - - // Table of currently running cancelers, as a product of `Alt` behavior. - var killId = 0; - var kills = {}; - - // Error used for early cancelation on Alt branches. - var early = new Error("[ParAff] Early exit"); - - // Error used to kill the entire tree. - var interrupt = null; - - // The root pointer of the tree. - var root = EMPTY; - - // Walks a tree, invoking all the cancelers. Returns the table of pending - // cancellation fibers. - function kill(error, par, cb) { - var step = par; - var head = null; - var tail = null; - var count = 0; - var kills = {}; - var tmp, kid; - - loop: while (true) { - tmp = null; - - switch (step.tag) { - case FORKED: - if (step._3 === EMPTY) { - tmp = fibers[step._1]; - kills[count++] = tmp.kill(error, function (result) { - return function () { - count--; - if (count === 0) { - cb(result)(); - } - }; - }); - } - // Terminal case. - if (head === null) { - break loop; - } - // Go down the right side of the tree. - step = head._2; - if (tail === null) { - head = null; - } else { - head = tail._1; - tail = tail._2; - } - break; - case MAP: - step = step._2; - break; - case APPLY: - case ALT: - if (head) { - tail = new Aff(CONS, head, tail); - } - head = step; - step = step._1; - break; - } - } - - if (count === 0) { - cb(util.right(void 0))(); - } else { - // Run the cancelation effects. We alias `count` because it's mutable. - kid = 0; - tmp = count; - for (; kid < tmp; kid++) { - kills[kid] = kills[kid](); - } - } - - return kills; - } - - // When a fiber resolves, we need to bubble back up the tree with the - // result, computing the applicative nodes. - function join(result, head, tail) { - var fail, step, lhs, rhs, tmp, kid; - - if (util.isLeft(result)) { - fail = result; - step = null; - } else { - step = result; - fail = null; - } - - loop: while (true) { - lhs = null; - rhs = null; - tmp = null; - kid = null; - - // We should never continue if the entire tree has been interrupted. - if (interrupt !== null) { - return; - } - - // We've made it all the way to the root of the tree, which means - // the tree has fully evaluated. - if (head === null) { - cb(fail || step)(); - return; - } - - // The tree has already been computed, so we shouldn't try to do it - // again. This should never happen. - // TODO: Remove this? - if (head._3 !== EMPTY) { - return; - } - - switch (head.tag) { - case MAP: - if (fail === null) { - head._3 = util.right(head._1(util.fromRight(step))); - step = head._3; - } else { - head._3 = fail; - } - break; - case APPLY: - lhs = head._1._3; - rhs = head._2._3; - // If we have a failure we should kill the other side because we - // can't possible yield a result anymore. - if (fail) { - head._3 = fail; - tmp = true; - kid = killId++; - - kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) { - return function () { - delete kills[kid]; - if (tmp) { - tmp = false; - } else if (tail === null) { - join(fail, null, null); - } else { - join(fail, tail._1, tail._2); - } - }; - }); - - if (tmp) { - tmp = false; - return; - } - } else if (lhs === EMPTY || rhs === EMPTY) { - // We can only proceed if both sides have resolved. - return; - } else { - step = util.right(util.fromRight(lhs)(util.fromRight(rhs))); - head._3 = step; - } - break; - case ALT: - lhs = head._1._3; - rhs = head._2._3; - // We can only proceed if both have resolved or we have a success - if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) { - return; - } - // If both sides resolve with an error, we should continue with the - // first error - if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) { - fail = step === lhs ? rhs : lhs; - step = null; - head._3 = fail; - } else { - head._3 = step; - tmp = true; - kid = killId++; - // Once a side has resolved, we need to cancel the side that is still - // pending before we can continue. - kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) { - return function () { - delete kills[kid]; - if (tmp) { - tmp = false; - } else if (tail === null) { - join(step, null, null); - } else { - join(step, tail._1, tail._2); - } - }; - }); - - if (tmp) { - tmp = false; - return; - } - } - break; - } - - if (tail === null) { - head = null; - } else { - head = tail._1; - tail = tail._2; - } - } - } - - function resolve(fiber) { - return function (result) { - return function () { - delete fibers[fiber._1]; - fiber._3 = result; - join(result, fiber._2._1, fiber._2._2); - }; - }; - } - - // Walks the applicative tree, substituting non-applicative nodes with - // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot - // as a mutable slot for memoization. In an unresolved state, the `_3` - // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk - // the left side first, because both operations are left-associative. As - // we `RETURN` from those branches, we then walk the right side. - function run() { - var status = CONTINUE; - var step = par; - var head = null; - var tail = null; - var tmp, fid; - - loop: while (true) { - tmp = null; - fid = null; - - switch (status) { - case CONTINUE: - switch (step.tag) { - case MAP: - if (head) { - tail = new Aff(CONS, head, tail); - } - head = new Aff(MAP, step._1, EMPTY, EMPTY); - step = step._2; - break; - case APPLY: - if (head) { - tail = new Aff(CONS, head, tail); - } - head = new Aff(APPLY, EMPTY, step._2, EMPTY); - step = step._1; - break; - case ALT: - if (head) { - tail = new Aff(CONS, head, tail); - } - head = new Aff(ALT, EMPTY, step._2, EMPTY); - step = step._1; - break; - default: - // When we hit a leaf value, we suspend the stack in the `FORKED`. - // When the fiber resolves, it can bubble back up the tree. - fid = fiberId++; - status = RETURN; - tmp = step; - step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY); - tmp = Fiber(util, supervisor, tmp); - tmp.onComplete({ - rethrow: false, - handler: resolve(step) - })(); - fibers[fid] = tmp; - if (supervisor) { - supervisor.register(tmp); - } - } - break; - case RETURN: - // Terminal case, we are back at the root. - if (head === null) { - break loop; - } - // If we are done with the right side, we need to continue down the - // left. Otherwise we should continue up the stack. - if (head._1 === EMPTY) { - head._1 = step; - status = CONTINUE; - step = head._2; - head._2 = EMPTY; - } else { - head._2 = step; - step = head; - if (tail === null) { - head = null; - } else { - head = tail._1; - tail = tail._2; - } - } - } - } - - // Keep a reference to the tree root so it can be cancelled. - root = step; - - for (fid = 0; fid < fiberId; fid++) { - fibers[fid].run(); - } - } - - // Cancels the entire tree. If there are already subtrees being canceled, - // we need to first cancel those joins. We will then add fresh joins for - // all pending branches including those that were in the process of being - // canceled. - function cancel(error, cb) { - interrupt = util.left(error); - var innerKills; - for (var kid in kills) { - if (kills.hasOwnProperty(kid)) { - innerKills = kills[kid]; - for (kid in innerKills) { - if (innerKills.hasOwnProperty(kid)) { - innerKills[kid](); - } - } - } - } - - kills = null; - var newKills = kill(error, root, cb); - - return function (killError) { - return new Aff(ASYNC, function (killCb) { - return function () { - for (var kid in newKills) { - if (newKills.hasOwnProperty(kid)) { - newKills[kid](); - } - } - return nonCanceler; - }; - }); - }; - } - - run(); - - return function (killError) { - return new Aff(ASYNC, function (killCb) { - return function () { - return cancel(killError, killCb); - }; - }); - }; - } - - function sequential(util, supervisor, par) { - return new Aff(ASYNC, function (cb) { - return function () { - return runPar(util, supervisor, par, cb); - }; - }); - } - - Aff.EMPTY = EMPTY; - Aff.Pure = AffCtr(PURE); - Aff.Throw = AffCtr(THROW); - Aff.Catch = AffCtr(CATCH); - Aff.Sync = AffCtr(SYNC); - Aff.Async = AffCtr(ASYNC); - Aff.Bind = AffCtr(BIND); - Aff.Bracket = AffCtr(BRACKET); - Aff.Fork = AffCtr(FORK); - Aff.Seq = AffCtr(SEQ); - Aff.ParMap = AffCtr(MAP); - Aff.ParApply = AffCtr(APPLY); - Aff.ParAlt = AffCtr(ALT); - Aff.Fiber = Fiber; - Aff.Supervisor = Supervisor; - Aff.Scheduler = Scheduler; - Aff.nonCanceler = nonCanceler; - - return Aff; - }(); - - exports._pure = Aff.Pure; - - exports._throwError = Aff.Throw; - - exports._catchError = function (aff) { - return function (k) { - return Aff.Catch(aff, k); - }; - }; - - exports._map = function (f) { - return function (aff) { - if (aff.tag === Aff.Pure.tag) { - return Aff.Pure(f(aff._1)); - } else { - return Aff.Bind(aff, function (value) { - return Aff.Pure(f(value)); - }); - } - }; - }; - - exports._bind = function (aff) { - return function (k) { - return Aff.Bind(aff, k); - }; - }; - - exports._fork = function (immediate) { - return function (aff) { - return Aff.Fork(immediate, aff); - }; - }; - - exports._liftEffect = Aff.Sync; - - exports._parAffMap = function (f) { - return function (aff) { - return Aff.ParMap(f, aff); - }; - }; - - exports._parAffApply = function (aff1) { - return function (aff2) { - return Aff.ParApply(aff1, aff2); - }; - }; - - exports.makeAff = Aff.Async; - - exports._makeFiber = function (util, aff) { - return function () { - return Aff.Fiber(util, null, aff); - }; - }; - - exports._sequential = Aff.Seq; -})(PS["Effect.Aff"] = PS["Effect.Aff"] || {}); -(function(exports) { - "use strict"; - - exports.error = function (msg) { - return new Error(msg); - }; - - exports.throwException = function (e) { - return function () { - throw e; - }; - }; -})(PS["Effect.Exception"] = PS["Effect.Exception"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.Exception"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Show = PS["Data.Show"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var $$throw = function ($1) { - return $foreign.throwException($foreign.error($1)); - }; - exports["throw"] = $$throw; - exports["error"] = $foreign.error; - exports["throwException"] = $foreign.throwException; -})(PS["Effect.Exception"] = PS["Effect.Exception"] || {}); -(function(exports) { - "use strict"; - - exports.unsafePerformEffect = function (f) { - return f(); - }; -})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.Unsafe"]; - var Effect = PS["Effect"]; - exports["unsafePerformEffect"] = $foreign.unsafePerformEffect; -})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.Aff"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Parallel_Class = PS["Control.Parallel.Class"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Time_Duration = PS["Data.Time.Duration"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Unsafe = PS["Effect.Unsafe"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Canceler = function (x) { - return x; - }; - var suspendAff = $foreign["_fork"](false); - var functorParAff = new Data_Functor.Functor($foreign["_parAffMap"]); - var functorAff = new Data_Functor.Functor($foreign["_map"]); - var forkAff = $foreign["_fork"](true); - var ffiUtil = (function () { - var unsafeFromRight = function (v) { - if (v instanceof Data_Either.Right) { - return v.value0; - }; - if (v instanceof Data_Either.Left) { - return Partial_Unsafe.unsafeCrashWith("unsafeFromRight: Left"); - }; - throw new Error("Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): " + [ v.constructor.name ]); - }; - var unsafeFromLeft = function (v) { - if (v instanceof Data_Either.Left) { - return v.value0; - }; - if (v instanceof Data_Either.Right) { - return Partial_Unsafe.unsafeCrashWith("unsafeFromLeft: Right"); - }; - throw new Error("Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): " + [ v.constructor.name ]); - }; - var isLeft = function (v) { - if (v instanceof Data_Either.Left) { - return true; - }; - if (v instanceof Data_Either.Right) { - return false; - }; - throw new Error("Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): " + [ v.constructor.name ]); - }; - return { - isLeft: isLeft, - fromLeft: unsafeFromLeft, - fromRight: unsafeFromRight, - left: Data_Either.Left.create, - right: Data_Either.Right.create - }; - })(); - var makeFiber = function (aff) { - return $foreign["_makeFiber"](ffiUtil, aff); - }; - var launchAff = function (aff) { - return function __do() { - var v = makeFiber(aff)(); - v.run(); - return v; - }; - }; - var applyParAff = new Control_Apply.Apply(function () { - return functorParAff; - }, $foreign["_parAffApply"]); - var monadAff = new Control_Monad.Monad(function () { - return applicativeAff; - }, function () { - return bindAff; - }); - var bindAff = new Control_Bind.Bind(function () { - return applyAff; - }, $foreign["_bind"]); - var applyAff = new Control_Apply.Apply(function () { - return functorAff; - }, Control_Monad.ap(monadAff)); - var applicativeAff = new Control_Applicative.Applicative(function () { - return applyAff; - }, $foreign["_pure"]); - var monadEffectAff = new Effect_Class.MonadEffect(function () { - return monadAff; - }, $foreign["_liftEffect"]); - var effectCanceler = function ($50) { - return Canceler(Data_Function["const"](Effect_Class.liftEffect(monadEffectAff)($50))); - }; - var joinFiber = function (v) { - return $foreign.makeAff(function (k) { - return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k)); - }); - }; - var functorFiber = new Data_Functor.Functor(function (f) { - return function (t) { - return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t)))); - }; - }); - var killFiber = function (e) { - return function (v) { - return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) { - if (v1) { - return Effect_Class.liftEffect(monadEffectAff)(Data_Functor["void"](Effect.functorEffect)(v.kill(e, Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))))); - }; - return $foreign.makeAff(function (k) { - return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k)); - }); - }); - }; - }; - var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () { - return monadAff; - }, $foreign["_throwError"]); - var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () { - return monadThrowAff; - }, $foreign["_catchError"]); - var runAff = function (k) { - return function (aff) { - return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) { - return Effect_Class.liftEffect(monadEffectAff)(k($52)); - })(Control_Monad_Error_Class["try"](monadErrorAff)(aff))); - }; - }; - var runAff_ = function (k) { - return function (aff) { - return Data_Functor["void"](Effect.functorEffect)(runAff(k)(aff)); - }; - }; - var parallelAff = new Control_Parallel_Class.Parallel(function () { - return applicativeParAff; - }, function () { - return monadAff; - }, Unsafe_Coerce.unsafeCoerce, $foreign["_sequential"]); - var applicativeParAff = new Control_Applicative.Applicative(function () { - return applyParAff; - }, function ($54) { - return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54)); - }); - var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () { - return monadAff; - }, function (k) { - var go = function (a) { - return Control_Bind.bind(bindAff)(k(a))(function (v) { - if (v instanceof Control_Monad_Rec_Class.Done) { - return Control_Applicative.pure(applicativeAff)(v.value0); - }; - if (v instanceof Control_Monad_Rec_Class.Loop) { - return go(v.value0); - }; - throw new Error("Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): " + [ v.constructor.name ]); - }); - }; - return go; - }); - var nonCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit)); - exports["Canceler"] = Canceler; - exports["launchAff"] = launchAff; - exports["runAff"] = runAff; - exports["runAff_"] = runAff_; - exports["forkAff"] = forkAff; - exports["suspendAff"] = suspendAff; - exports["killFiber"] = killFiber; - exports["joinFiber"] = joinFiber; - exports["nonCanceler"] = nonCanceler; - exports["effectCanceler"] = effectCanceler; - exports["functorAff"] = functorAff; - exports["applyAff"] = applyAff; - exports["applicativeAff"] = applicativeAff; - exports["bindAff"] = bindAff; - exports["monadAff"] = monadAff; - exports["monadRecAff"] = monadRecAff; - exports["monadThrowAff"] = monadThrowAff; - exports["monadErrorAff"] = monadErrorAff; - exports["monadEffectAff"] = monadEffectAff; - exports["functorParAff"] = functorParAff; - exports["applyParAff"] = applyParAff; - exports["applicativeParAff"] = applicativeParAff; - exports["parallelAff"] = parallelAff; - exports["functorFiber"] = functorFiber; - exports["makeAff"] = $foreign.makeAff; -})(PS["Effect.Aff"] = PS["Effect.Aff"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Prelude = PS["Prelude"]; - var fromEffectFnAff = function (v) { - return Effect_Aff.makeAff(function (k) { - return function __do() { - var v1 = v(function ($4) { - return k(Data_Either.Left.create($4))(); - }, function ($5) { - return k(Data_Either.Right.create($5))(); - }); - return function (e) { - return Effect_Aff.makeAff(function (k2) { - return function __do() { - v1(e, function ($6) { - return k2(Data_Either.Left.create($6))(); - }, function ($7) { - return k2(Data_Either.Right.create($7))(); - }); - return Effect_Aff.nonCanceler; - }; - }); - }; - }; - }); - }; - exports["fromEffectFnAff"] = fromEffectFnAff; -})(PS["Effect.Aff.Compat"] = PS["Effect.Aff.Compat"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Affjax"]; - var Affjax_RequestBody = PS["Affjax.RequestBody"]; - var Affjax_RequestHeader = PS["Affjax.RequestHeader"]; - var Affjax_ResponseFormat = PS["Affjax.ResponseFormat"]; - var Affjax_ResponseHeader = PS["Affjax.ResponseHeader"]; - var Affjax_StatusCode = PS["Affjax.StatusCode"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"]; - var Data_Array = PS["Data.Array"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FormURLEncoded = PS["Data.FormURLEncoded"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HTTP_Method = PS["Data.HTTP.Method"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Int = PS["Data.Int"]; - var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Time_Duration = PS["Data.Time.Duration"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_Compat = PS["Effect.Aff.Compat"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Ref = PS["Effect.Ref"]; - var Foreign = PS["Foreign"]; - var $$Math = PS["Math"]; - var Prelude = PS["Prelude"]; - var request = function (req) { - var parseJSON = function (v) { - if (v === "") { - return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject); - }; - return Data_Either.either(function ($66) { - return Foreign.fail(Foreign.ForeignError.create($66)); - })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v)); - }; - var fromResponse$prime = (function () { - if (req.responseFormat instanceof Affjax_ResponseFormat["ArrayBuffer"]) { - return Foreign.unsafeReadTagged("ArrayBuffer"); - }; - if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) { - return Foreign.unsafeReadTagged("Blob"); - }; - if (req.responseFormat instanceof Affjax_ResponseFormat.Document) { - return Foreign.unsafeReadTagged("Document"); - }; - if (req.responseFormat instanceof Affjax_ResponseFormat.Json) { - return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) { - return req.responseFormat.value0(parseJSON($67)); - })(Foreign.unsafeReadTagged("String")); - }; - if (req.responseFormat instanceof Affjax_ResponseFormat["String"]) { - return Foreign.unsafeReadTagged("String"); - }; - if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) { - return Data_Function["const"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit))); - }; - throw new Error("Failed pattern match at Affjax (line 292, column 19 - line 298, column 57): " + [ req.responseFormat.constructor.name ]); - })(); - var extractContent = function (v) { - if (v instanceof Affjax_RequestBody.ArrayView) { - return v.value0(Foreign.unsafeToForeign); - }; - if (v instanceof Affjax_RequestBody.Blob) { - return Foreign.unsafeToForeign(v.value0); - }; - if (v instanceof Affjax_RequestBody.Document) { - return Foreign.unsafeToForeign(v.value0); - }; - if (v instanceof Affjax_RequestBody["String"]) { - return Foreign.unsafeToForeign(v.value0); - }; - if (v instanceof Affjax_RequestBody.FormData) { - return Foreign.unsafeToForeign(v.value0); - }; - if (v instanceof Affjax_RequestBody.FormURLEncoded) { - return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0)); - }; - if (v instanceof Affjax_RequestBody.Json) { - return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)); - }; - throw new Error("Failed pattern match at Affjax (line 266, column 20 - line 273, column 57): " + [ v.constructor.name ]); - }; - var addHeader = function (mh) { - return function (hs) { - if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.requestHeaderName)(mh.value0))(hs)) { - return Data_Array.snoc(hs)(mh.value0); - }; - return hs; - }; - }; - var headers = function (reqContent) { - return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(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)); - }; - var req$prime = { - method: Data_HTTP_Method.print(req.method), - url: req.url, - headers: Data_Functor.map(Data_Functor.functorArray)(function (h) { - return { - field: Affjax_RequestHeader.requestHeaderName(h), - value: Affjax_RequestHeader.requestHeaderValue(h) - }; - })(headers(req.content)), - content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)), - responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat), - username: Data_Nullable.toNullable(req.username), - password: Data_Nullable.toNullable(req.password), - withCredentials: req.withCredentials - }; - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign["_ajax"](Affjax_ResponseHeader.responseHeader, req$prime)))(function (v) { - var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body)); - if (v1 instanceof Data_Either.Left) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)({ - body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)), - headers: v.headers, - status: v.status, - statusText: v.statusText - }); - }; - if (v1 instanceof Data_Either.Right) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)({ - body: new Data_Either.Right(v1.value0), - headers: v.headers, - status: v.status, - statusText: v.statusText - }); - }; - throw new Error("Failed pattern match at Affjax (line 246, column 3 - line 250, column 39): " + [ v1.constructor.name ]); - }); - }; - var defaultRequest = { - method: new Data_Either.Left(Data_HTTP_Method.GET.value), - url: "/", - headers: [ ], - content: Data_Maybe.Nothing.value, - username: Data_Maybe.Nothing.value, - password: Data_Maybe.Nothing.value, - withCredentials: false, - responseFormat: Affjax_ResponseFormat.ignore - }; - exports["defaultRequest"] = defaultRequest; - exports["request"] = request; -})(PS["Affjax"] = PS["Affjax"] || {}); -(function(exports) { - "use strict"; - - exports._app = function() { - return app; - } - - exports._mmoment8601 = function(just, nothing, tuple, s) { - try { - var m = moment(s, moment.ISO_8601); - var s1 = m.fromNow(); - var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") "; - return just(tuple(s1)(s2)); - } catch (error) { - return nothing - } - } - - exports._closeWindow = function (window) { - window.close(); - }; -})(PS["Globals"] = PS["Globals"] || {}); -(function(exports) { - "use strict"; - - exports.unsafeReadPropImpl = function (f, s, key, value) { - return value == null ? f : s(value[key]); - }; -})(PS["Foreign.Index"] = PS["Foreign.Index"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Foreign.Index"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Identity = PS["Data.Identity"]; - var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; - var Foreign = PS["Foreign"]; - var Prelude = PS["Prelude"]; - var unsafeReadProp = function (k) { - return function (value) { - return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch("object", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value); - }; - }; - var readProp = unsafeReadProp; - exports["readProp"] = readProp; -})(PS["Foreign.Index"] = PS["Foreign.Index"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Symbol = PS["Data.Symbol"]; - var Prelude = PS["Prelude"]; - var Record_Unsafe = PS["Record.Unsafe"]; - var Record_Unsafe_Union = PS["Record.Unsafe.Union"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Type_Row = PS["Type.Row"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var get = function (dictIsSymbol) { - return function (dictCons) { - return function (l) { - return function (r) { - return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r); - }; - }; - }; - }; - exports["get"] = get; -})(PS["Record"] = PS["Record"] || {}); -(function(exports) { - "use strict"; - - exports.copyRecord = function(rec) { - var copy = {}; - for (var key in rec) { - if ({}.hasOwnProperty.call(rec, key)) { - copy[key] = rec[key]; - } - } - return copy; - }; - - exports.unsafeInsert = function(l) { - return function(a) { - return function(rec) { - rec[l] = a; - return rec; - }; - }; - }; -})(PS["Record.Builder"] = PS["Record.Builder"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Record.Builder"]; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Symbol = PS["Data.Symbol"]; - var Prelude = PS["Prelude"]; - var Record_Unsafe_Union = PS["Record.Unsafe.Union"]; - var Type_Row = PS["Type.Row"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn; - var insert = function (dictCons) { - return function (dictLacks) { - return function (dictIsSymbol) { - return function (l) { - return function (a) { - return function (r1) { - return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1); - }; - }; - }; - }; - }; - }; - var categoryBuilder = Control_Category.categoryFn; - var build = function (v) { - return function (r1) { - return v($foreign.copyRecord(r1)); - }; - }; - exports["build"] = build; - exports["insert"] = insert; - exports["semigroupoidBuilder"] = semigroupoidBuilder; - exports["categoryBuilder"] = categoryBuilder; -})(PS["Record.Builder"] = PS["Record.Builder"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Simple.JSON"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Identity = PS["Data.Identity"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Symbol = PS["Data.Symbol"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Variant = PS["Data.Variant"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Effect_Unsafe = PS["Effect.Unsafe"]; - var Foreign = PS["Foreign"]; - var Foreign_Index = PS["Foreign.Index"]; - var Foreign_Object = PS["Foreign.Object"]; - var Global_Unsafe = PS["Global.Unsafe"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Record = PS["Record"]; - var Record_Builder = PS["Record.Builder"]; - var Type_Data_RowList = PS["Type.Data.RowList"]; - var Type_Prelude = PS["Type.Prelude"]; - var WriteForeign = function (writeImpl) { - this.writeImpl = writeImpl; - }; - var WriteForeignFields = function (writeImplFields) { - this.writeImplFields = writeImplFields; - }; - var writeImplFields = function (dict) { - return dict.writeImplFields; - }; - var writeImpl = function (dict) { - return dict.writeImpl; - }; - var writeJSON = function (dictWriteForeign) { - return function ($85) { - return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85)); - }; - }; - var writeForeignString = new WriteForeign(Foreign.unsafeToForeign); - var writeForeignNullable = function (dictWriteForeign) { - return new WriteForeign(function ($87) { - return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87)); - }); - }; - var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); - var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign); - var recordWriteForeign = function (dictRowToList) { - return function (dictWriteForeignFields) { - return new WriteForeign(function (rec) { - var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec); - return Foreign.unsafeToForeign(Record_Builder.build(steps)({})); - }); - }; - }; - var nilWriteForeignFields = new WriteForeignFields(function (v) { - return function (v1) { - return Control_Category.identity(Record_Builder.categoryBuilder); - }; - }); - var consWriteForeignFields = function (dictIsSymbol) { - return function (dictWriteForeign) { - return function (dictWriteForeignFields) { - return function (dictCons) { - return function (dictLacks) { - return function (dictCons1) { - return new WriteForeignFields(function (v) { - return function (rec) { - var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec); - var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec)); - var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest); - return result; - }; - }); - }; - }; - }; - }; - }; - }; - exports["writeJSON"] = writeJSON; - exports["WriteForeign"] = WriteForeign; - exports["writeImpl"] = writeImpl; - exports["WriteForeignFields"] = WriteForeignFields; - exports["writeImplFields"] = writeImplFields; - exports["writeForeignString"] = writeForeignString; - exports["writeForeignInt"] = writeForeignInt; - exports["writeForeignBoolean"] = writeForeignBoolean; - exports["writeForeignNullable"] = writeForeignNullable; - exports["recordWriteForeign"] = recordWriteForeign; - exports["consWriteForeignFields"] = consWriteForeignFields; - exports["nilWriteForeignFields"] = nilWriteForeignFields; -})(PS["Simple.JSON"] = PS["Simple.JSON"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Symbol = PS["Data.Symbol"]; - var Simple_JSON = PS["Simple.JSON"]; - var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "archiveDefault"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "privacyLock"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "privateDefault"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()()); - var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "created"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "id"; - }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "isMarkdown"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "length"; - }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "slug"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "text"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "title"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "updated"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()()); - var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "archiveUrl"; - }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "bid"; - }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "description"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "private"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "selected"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "slug"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "tags"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "time"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "title"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "toread"; - }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () { - return "url"; - }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()()); - exports["bookmark_wfI"] = bookmark_wfI; - exports["note_wfI"] = note_wfI; - exports["usersettings_wfI"] = usersettings_wfI; -})(PS["Model"] = PS["Model"] || {}); -(function(exports) { - /* global window */ - "use strict"; - - exports.window = function () { - return window; - }; -})(PS["Web.HTML"] = PS["Web.HTML"] || {}); -(function(exports) { - "use strict"; - - exports._querySelector = function (selector) { - return function (node) { - return function () { - return node.querySelector(selector); - }; - }; - }; -})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.DOM.ParentNode"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Ord = PS["Data.Ord"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"]; - var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"]; - var Web_DOM_NodeList = PS["Web.DOM.NodeList"]; - var querySelector = function (qs) { - return function ($3) { - return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign["_querySelector"](qs)($3)); - }; - }; - exports["querySelector"] = querySelector; -})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {}); -(function(exports) { - "use strict"; - - exports.eventListener = function (fn) { - return function () { - return function (event) { - return fn(event)(); - }; - }; - }; -})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {}); -(function(exports) { - "use strict"; - - exports._currentTarget = function (e) { - return e.currentTarget; - }; - - exports.preventDefault = function (e) { - return function () { - return e.preventDefault(); - }; - }; -})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {}); -(function(exports) { - "use strict"; - - exports.toCharCode = function (c) { - return c.charCodeAt(0); - }; - - exports.fromCharCode = function (c) { - return String.fromCharCode(c); - }; -})(PS["Data.Enum"] = PS["Data.Enum"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.Enum"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Data_Unit = PS["Data.Unit"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Enum = function (Ord0, pred, succ) { - this.Ord0 = Ord0; - this.pred = pred; - this.succ = succ; - }; - var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) { - this.Bounded0 = Bounded0; - this.Enum1 = Enum1; - this.cardinality = cardinality; - this.fromEnum = fromEnum; - this.toEnum = toEnum; - }; - var toEnum = function (dict) { - return dict.toEnum; - }; - var succ = function (dict) { - return dict.succ; - }; - var pred = function (dict) { - return dict.pred; - }; - var fromEnum = function (dict) { - return dict.fromEnum; - }; - var toEnumWithDefaults = function (dictBoundedEnum) { - return function (low) { - return function (high) { - return function (x) { - var v = toEnum(dictBoundedEnum)(x); - if (v instanceof Data_Maybe.Just) { - return v.value0; - }; - if (v instanceof Data_Maybe.Nothing) { - var $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0())); - if ($51) { - return low; - }; - return high; - }; - throw new Error("Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): " + [ v.constructor.name ]); - }; - }; - }; - }; - var defaultSucc = function (toEnum$prime) { - return function (fromEnum$prime) { - return function (a) { - return toEnum$prime(fromEnum$prime(a) + 1 | 0); - }; - }; - }; - var defaultPred = function (toEnum$prime) { - return function (fromEnum$prime) { - return function (a) { - return toEnum$prime(fromEnum$prime(a) - 1 | 0); - }; - }; - }; - var charToEnum = function (v) { - if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) { - return new Data_Maybe.Just($foreign.fromCharCode(v)); - }; - return Data_Maybe.Nothing.value; - }; - var enumChar = new Enum(function () { - return Data_Ord.ordChar; - }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode)); - var cardinality = function (dict) { - return dict.cardinality; - }; - var boundedEnumChar = new BoundedEnum(function () { - return Data_Bounded.boundedChar; - }, function () { - return enumChar; - }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum); - exports["Enum"] = Enum; - exports["succ"] = succ; - exports["pred"] = pred; - exports["BoundedEnum"] = BoundedEnum; - exports["cardinality"] = cardinality; - exports["toEnum"] = toEnum; - exports["fromEnum"] = fromEnum; - exports["toEnumWithDefaults"] = toEnumWithDefaults; - exports["defaultSucc"] = defaultSucc; - exports["defaultPred"] = defaultPred; - exports["enumChar"] = enumChar; - exports["boundedEnumChar"] = boundedEnumChar; -})(PS["Data.Enum"] = PS["Data.Enum"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.Event.Event"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_DateTime_Instant = PS["Data.DateTime.Instant"]; - var Data_Enum = PS["Data.Enum"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Ord = PS["Data.Ord"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Web_Event_EventPhase = PS["Web.Event.EventPhase"]; - var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"]; - var currentTarget = function ($6) { - return Data_Nullable.toMaybe($foreign["_currentTarget"]($6)); - }; - exports["currentTarget"] = currentTarget; - exports["preventDefault"] = $foreign.preventDefault; -})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.Event.EventTarget"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"]; - exports["eventListener"] = $foreign.eventListener; -})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {}); -(function(exports) { - "use strict"; - - exports._read = function (nothing, just, value) { - var tag = Object.prototype.toString.call(value); - if (tag.indexOf("[object HTML") === 0 && tag.indexOf("Element]") === tag.length - 8) { - return just(value); - } else { - return nothing; - } - }; -})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {}); -(function(exports) { - "use strict"; - - exports.removeAttribute = function (name) { - return function (element) { - return function () { - element.removeAttribute(name); - return {}; - }; - }; - }; -})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.DOM.Element"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_ChildNode = PS["Web.DOM.ChildNode"]; - var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"]; - var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Web_Internal_FFI = PS["Web.Internal.FFI"]; - var toNode = Unsafe_Coerce.unsafeCoerce; - exports["toNode"] = toNode; - exports["removeAttribute"] = $foreign.removeAttribute; -})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.HTML.HTMLElement"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM = PS["Web.DOM"]; - var Web_DOM_DOMTokenList = PS["Web.DOM.DOMTokenList"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"]; - var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var toNode = Unsafe_Coerce.unsafeCoerce; - var toElement = Unsafe_Coerce.unsafeCoerce; - var fromElement = function (x) { - return $foreign["_read"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x); - }; - exports["fromElement"] = fromElement; - exports["toElement"] = toElement; - exports["toNode"] = toNode; -})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.HTML.HTMLDocument"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"]; - var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var Web_HTML_HTMLScriptElement = PS["Web.HTML.HTMLScriptElement"]; - var Web_Internal_FFI = PS["Web.Internal.FFI"]; - var toParentNode = Unsafe_Coerce.unsafeCoerce; - var toDocument = Unsafe_Coerce.unsafeCoerce; - exports["toDocument"] = toDocument; - exports["toParentNode"] = toParentNode; -})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {}); -(function(exports) { - "use strict"; - - // ---------------------------------------------------------------------------- - - exports.href = function (location) { - return function () { - return location.href; - }; - }; - - exports.setHref = function (href) { - return function (location) { - return function () { - location.href = href; - }; - }; - }; - - // ---------------------------------------------------------------------------- - - exports.search = function (location) { - return function () { - return location.search; - }; - }; - - // ---------------------------------------------------------------------------- - - exports.reload = function (location) { - return function () { - location.reload(); - }; - }; -})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.HTML.Location"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - exports["setHref"] = $foreign.setHref; - exports["search"] = $foreign.search; - exports["reload"] = $foreign.reload; -})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {}); -(function(exports) { - "use strict"; - - exports.document = function (window) { - return function () { - return window.document; - }; - }; - - exports.location = function (window) { - return function () { - return window.location; - }; - }; -})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.HTML.Window"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Ord = PS["Data.Ord"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"]; - var Web_HTML_History = PS["Web.HTML.History"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Web_HTML_Navigator = PS["Web.HTML.Navigator"]; - var Web_Storage_Storage = PS["Web.Storage.Storage"]; - exports["document"] = $foreign.document; - exports["location"] = $foreign.location; -})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.HTML"]; - var Effect = PS["Effect"]; - var Web_HTML_HTMLAnchorElement = PS["Web.HTML.HTMLAnchorElement"]; - var Web_HTML_HTMLAreaElement = PS["Web.HTML.HTMLAreaElement"]; - var Web_HTML_HTMLAudioElement = PS["Web.HTML.HTMLAudioElement"]; - var Web_HTML_HTMLBRElement = PS["Web.HTML.HTMLBRElement"]; - var Web_HTML_HTMLBaseElement = PS["Web.HTML.HTMLBaseElement"]; - var Web_HTML_HTMLBodyElement = PS["Web.HTML.HTMLBodyElement"]; - var Web_HTML_HTMLButtonElement = PS["Web.HTML.HTMLButtonElement"]; - var Web_HTML_HTMLCanvasElement = PS["Web.HTML.HTMLCanvasElement"]; - var Web_HTML_HTMLDListElement = PS["Web.HTML.HTMLDListElement"]; - var Web_HTML_HTMLDataElement = PS["Web.HTML.HTMLDataElement"]; - var Web_HTML_HTMLDataListElement = PS["Web.HTML.HTMLDataListElement"]; - var Web_HTML_HTMLDivElement = PS["Web.HTML.HTMLDivElement"]; - var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var Web_HTML_HTMLEmbedElement = PS["Web.HTML.HTMLEmbedElement"]; - var Web_HTML_HTMLFieldSetElement = PS["Web.HTML.HTMLFieldSetElement"]; - var Web_HTML_HTMLFormElement = PS["Web.HTML.HTMLFormElement"]; - var Web_HTML_HTMLHRElement = PS["Web.HTML.HTMLHRElement"]; - var Web_HTML_HTMLHeadElement = PS["Web.HTML.HTMLHeadElement"]; - var Web_HTML_HTMLHeadingElement = PS["Web.HTML.HTMLHeadingElement"]; - var Web_HTML_HTMLIFrameElement = PS["Web.HTML.HTMLIFrameElement"]; - var Web_HTML_HTMLImageElement = PS["Web.HTML.HTMLImageElement"]; - var Web_HTML_HTMLInputElement = PS["Web.HTML.HTMLInputElement"]; - var Web_HTML_HTMLKeygenElement = PS["Web.HTML.HTMLKeygenElement"]; - var Web_HTML_HTMLLIElement = PS["Web.HTML.HTMLLIElement"]; - var Web_HTML_HTMLLabelElement = PS["Web.HTML.HTMLLabelElement"]; - var Web_HTML_HTMLLegendElement = PS["Web.HTML.HTMLLegendElement"]; - var Web_HTML_HTMLLinkElement = PS["Web.HTML.HTMLLinkElement"]; - var Web_HTML_HTMLMapElement = PS["Web.HTML.HTMLMapElement"]; - var Web_HTML_HTMLMediaElement = PS["Web.HTML.HTMLMediaElement"]; - var Web_HTML_HTMLMetaElement = PS["Web.HTML.HTMLMetaElement"]; - var Web_HTML_HTMLMeterElement = PS["Web.HTML.HTMLMeterElement"]; - var Web_HTML_HTMLModElement = PS["Web.HTML.HTMLModElement"]; - var Web_HTML_HTMLOListElement = PS["Web.HTML.HTMLOListElement"]; - var Web_HTML_HTMLObjectElement = PS["Web.HTML.HTMLObjectElement"]; - var Web_HTML_HTMLOptGroupElement = PS["Web.HTML.HTMLOptGroupElement"]; - var Web_HTML_HTMLOptionElement = PS["Web.HTML.HTMLOptionElement"]; - var Web_HTML_HTMLOutputElement = PS["Web.HTML.HTMLOutputElement"]; - var Web_HTML_HTMLParagraphElement = PS["Web.HTML.HTMLParagraphElement"]; - var Web_HTML_HTMLParamElement = PS["Web.HTML.HTMLParamElement"]; - var Web_HTML_HTMLPreElement = PS["Web.HTML.HTMLPreElement"]; - var Web_HTML_HTMLProgressElement = PS["Web.HTML.HTMLProgressElement"]; - var Web_HTML_HTMLQuoteElement = PS["Web.HTML.HTMLQuoteElement"]; - var Web_HTML_HTMLScriptElement = PS["Web.HTML.HTMLScriptElement"]; - var Web_HTML_HTMLSelectElement = PS["Web.HTML.HTMLSelectElement"]; - var Web_HTML_HTMLSourceElement = PS["Web.HTML.HTMLSourceElement"]; - var Web_HTML_HTMLSpanElement = PS["Web.HTML.HTMLSpanElement"]; - var Web_HTML_HTMLStyleElement = PS["Web.HTML.HTMLStyleElement"]; - var Web_HTML_HTMLTableCaptionElement = PS["Web.HTML.HTMLTableCaptionElement"]; - var Web_HTML_HTMLTableCellElement = PS["Web.HTML.HTMLTableCellElement"]; - var Web_HTML_HTMLTableColElement = PS["Web.HTML.HTMLTableColElement"]; - var Web_HTML_HTMLTableDataCellElement = PS["Web.HTML.HTMLTableDataCellElement"]; - var Web_HTML_HTMLTableElement = PS["Web.HTML.HTMLTableElement"]; - var Web_HTML_HTMLTableHeaderCellElement = PS["Web.HTML.HTMLTableHeaderCellElement"]; - var Web_HTML_HTMLTableRowElement = PS["Web.HTML.HTMLTableRowElement"]; - var Web_HTML_HTMLTableSectionElement = PS["Web.HTML.HTMLTableSectionElement"]; - var Web_HTML_HTMLTemplateElement = PS["Web.HTML.HTMLTemplateElement"]; - var Web_HTML_HTMLTextAreaElement = PS["Web.HTML.HTMLTextAreaElement"]; - var Web_HTML_HTMLTimeElement = PS["Web.HTML.HTMLTimeElement"]; - var Web_HTML_HTMLTitleElement = PS["Web.HTML.HTMLTitleElement"]; - var Web_HTML_HTMLTrackElement = PS["Web.HTML.HTMLTrackElement"]; - var Web_HTML_HTMLUListElement = PS["Web.HTML.HTMLUListElement"]; - var Web_HTML_HTMLVideoElement = PS["Web.HTML.HTMLVideoElement"]; - var Web_HTML_History = PS["Web.HTML.History"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Web_HTML_Navigator = PS["Web.HTML.Navigator"]; - var Web_HTML_Window = PS["Web.HTML.Window"]; - exports["window"] = $foreign.window; -})(PS["Web.HTML"] = PS["Web.HTML"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Globals"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Effect = PS["Effect"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Web_DOM = PS["Web.DOM"]; - var Web_HTML = PS["Web.HTML"]; - var Web_XHR_FormData = PS["Web.XHR.FormData"]; - var RawHTML = function (x) { - return x; - }; - var mmoment8601 = function (s) { - return $foreign["_mmoment8601"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s); - }; - var closeWindow = function (win) { - return Control_Applicative.pure(Effect.applicativeEffect)($foreign["_closeWindow"](win)); - }; - var app$prime = function (v) { - return $foreign["_app"](); - }; - exports["app'"] = app$prime; - exports["mmoment8601"] = mmoment8601; - exports["closeWindow"] = closeWindow; - exports["RawHTML"] = RawHTML; -})(PS["Globals"] = PS["Globals"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Affjax = PS["Affjax"]; - var Affjax_RequestBody = PS["Affjax.RequestBody"]; - var Affjax_RequestHeader = PS["Affjax.RequestHeader"]; - var Affjax_ResponseFormat = PS["Affjax.ResponseFormat"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Argonaut = PS["Data.Argonaut"]; - var Data_Array = PS["Data.Array"]; - var Data_Either = PS["Data.Either"]; - var Data_FormURLEncoded = PS["Data.FormURLEncoded"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HTTP_Method = PS["Data.HTTP.Method"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_MediaType_Common = PS["Data.MediaType.Common"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Globals = PS["Globals"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Simple_JSON = PS["Simple.JSON"]; - var Web_HTML = PS["Web.HTML"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Web_HTML_Window = PS["Web.HTML.Window"]; - var Star = (function () { - function Star() { - - }; - Star.value = new Star(); - return Star; - })(); - var UnStar = (function () { - function UnStar() { - - }; - UnStar.value = new UnStar(); - return UnStar; - })(); - var showStar = new Data_Show.Show(function (v) { - if (v instanceof Star) { - return "star"; - }; - if (v instanceof UnStar) { - return "unstar"; - }; - throw new Error("Failed pattern match at App (line 28, column 1 - line 28, column 37): " + [ v.constructor.name ]); - }); - var fetchUrl = function (method) { - return function (url) { - return function (headers) { - return function (content) { - return function (rt) { - var app = Globals["app'"](Data_Unit.unit); - return Affjax.request({ - method: new Data_Either.Left(method), - url: url, - headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers), - content: content, - username: Affjax.defaultRequest.username, - password: Affjax.defaultRequest.password, - withCredentials: Affjax.defaultRequest.withCredentials, - responseFormat: rt - }); - }; - }; - }; - }; - }; - var logout = function (u) { - var app = Globals["app'"](u); - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload)); - }); - }; - var fetchPath = function (method) { - return function (path) { - return function (headers) { - return function (content) { - return function (rt) { - return fetchUrl(method)((Globals["app'"](Data_Unit.unit)).homeR + path)(headers)(content)(rt); - }; - }; - }; - }; - }; - var fetchUrlEnc = function (method) { - return function (path) { - return function (content) { - return function (rt) { - return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt); - }; - }; - }; - }; - var markRead = function (bid) { - var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + "/read"); - return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore); - }; - var toggleStar = function (bid) { - return function (action) { - var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + ("/" + Data_Show.show(showStar)(action))); - return Data_Functor["void"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)); - }; - }; - var fetchJson = function (dictWriteForeign) { - return function (method) { - return function (path) { - return function (content) { - return function (rt) { - return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) { - return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4)); - })(content))(rt); - }; - }; - }; - }; - }; - var editNote = function (bm) { - return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)("api/note/add")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json); - }; - var editBookmark = function (bm) { - return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)("api/add")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore); - }; - var editAccountSettings = function (us) { - return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)("api/accountSettings")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore); - }; - var destroyNote = function (nid) { - return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("api/note/" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore); - }; - var destroy = function (bid) { - return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("bm/" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore); - }; - exports["Star"] = Star; - exports["UnStar"] = UnStar; - exports["toggleStar"] = toggleStar; - exports["destroy"] = destroy; - exports["markRead"] = markRead; - exports["editBookmark"] = editBookmark; - exports["editNote"] = editNote; - exports["destroyNote"] = destroyNote; - exports["editAccountSettings"] = editAccountSettings; - exports["logout"] = logout; - exports["fetchJson"] = fetchJson; - exports["fetchUrlEnc"] = fetchUrlEnc; - exports["fetchPath"] = fetchPath; - exports["fetchUrl"] = fetchUrl; - exports["showStar"] = showStar; -})(PS["App"] = PS["App"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var InputButton = (function () { - function InputButton() { - - }; - InputButton.value = new InputButton(); - return InputButton; - })(); - var InputCheckbox = (function () { - function InputCheckbox() { - - }; - InputCheckbox.value = new InputCheckbox(); - return InputCheckbox; - })(); - var InputColor = (function () { - function InputColor() { - - }; - InputColor.value = new InputColor(); - return InputColor; - })(); - var InputDate = (function () { - function InputDate() { - - }; - InputDate.value = new InputDate(); - return InputDate; - })(); - var InputDatetimeLocal = (function () { - function InputDatetimeLocal() { - - }; - InputDatetimeLocal.value = new InputDatetimeLocal(); - return InputDatetimeLocal; - })(); - var InputEmail = (function () { - function InputEmail() { - - }; - InputEmail.value = new InputEmail(); - return InputEmail; - })(); - var InputFile = (function () { - function InputFile() { - - }; - InputFile.value = new InputFile(); - return InputFile; - })(); - var InputHidden = (function () { - function InputHidden() { - - }; - InputHidden.value = new InputHidden(); - return InputHidden; - })(); - var InputImage = (function () { - function InputImage() { - - }; - InputImage.value = new InputImage(); - return InputImage; - })(); - var InputMonth = (function () { - function InputMonth() { - - }; - InputMonth.value = new InputMonth(); - return InputMonth; - })(); - var InputNumber = (function () { - function InputNumber() { - - }; - InputNumber.value = new InputNumber(); - return InputNumber; - })(); - var InputPassword = (function () { - function InputPassword() { - - }; - InputPassword.value = new InputPassword(); - return InputPassword; - })(); - var InputRadio = (function () { - function InputRadio() { - - }; - InputRadio.value = new InputRadio(); - return InputRadio; - })(); - var InputRange = (function () { - function InputRange() { - - }; - InputRange.value = new InputRange(); - return InputRange; - })(); - var InputReset = (function () { - function InputReset() { - - }; - InputReset.value = new InputReset(); - return InputReset; - })(); - var InputSearch = (function () { - function InputSearch() { - - }; - InputSearch.value = new InputSearch(); - return InputSearch; - })(); - var InputSubmit = (function () { - function InputSubmit() { - - }; - InputSubmit.value = new InputSubmit(); - return InputSubmit; - })(); - var InputTel = (function () { - function InputTel() { - - }; - InputTel.value = new InputTel(); - return InputTel; - })(); - var InputText = (function () { - function InputText() { - - }; - InputText.value = new InputText(); - return InputText; - })(); - var InputTime = (function () { - function InputTime() { - - }; - InputTime.value = new InputTime(); - return InputTime; - })(); - var InputUrl = (function () { - function InputUrl() { - - }; - InputUrl.value = new InputUrl(); - return InputUrl; - })(); - var InputWeek = (function () { - function InputWeek() { - - }; - InputWeek.value = new InputWeek(); - return InputWeek; - })(); - var renderInputType = function (v) { - if (v instanceof InputButton) { - return "button"; - }; - if (v instanceof InputCheckbox) { - return "checkbox"; - }; - if (v instanceof InputColor) { - return "color"; - }; - if (v instanceof InputDate) { - return "date"; - }; - if (v instanceof InputDatetimeLocal) { - return "datetime-local"; - }; - if (v instanceof InputEmail) { - return "email"; - }; - if (v instanceof InputFile) { - return "file"; - }; - if (v instanceof InputHidden) { - return "hidden"; - }; - if (v instanceof InputImage) { - return "image"; - }; - if (v instanceof InputMonth) { - return "month"; - }; - if (v instanceof InputNumber) { - return "number"; - }; - if (v instanceof InputPassword) { - return "password"; - }; - if (v instanceof InputRadio) { - return "radio"; - }; - if (v instanceof InputRange) { - return "range"; - }; - if (v instanceof InputReset) { - return "reset"; - }; - if (v instanceof InputSearch) { - return "search"; - }; - if (v instanceof InputSubmit) { - return "submit"; - }; - if (v instanceof InputTel) { - return "tel"; - }; - if (v instanceof InputText) { - return "text"; - }; - if (v instanceof InputTime) { - return "time"; - }; - if (v instanceof InputUrl) { - return "url"; - }; - if (v instanceof InputWeek) { - return "week"; - }; - throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): " + [ v.constructor.name ]); - }; - exports["InputButton"] = InputButton; - exports["InputCheckbox"] = InputCheckbox; - exports["InputColor"] = InputColor; - exports["InputDate"] = InputDate; - exports["InputDatetimeLocal"] = InputDatetimeLocal; - exports["InputEmail"] = InputEmail; - exports["InputFile"] = InputFile; - exports["InputHidden"] = InputHidden; - exports["InputImage"] = InputImage; - exports["InputMonth"] = InputMonth; - exports["InputNumber"] = InputNumber; - exports["InputPassword"] = InputPassword; - exports["InputRadio"] = InputRadio; - exports["InputRange"] = InputRange; - exports["InputReset"] = InputReset; - exports["InputSearch"] = InputSearch; - exports["InputSubmit"] = InputSubmit; - exports["InputTel"] = InputTel; - exports["InputText"] = InputText; - exports["InputTime"] = InputTime; - exports["InputUrl"] = InputUrl; - exports["InputWeek"] = InputWeek; - exports["renderInputType"] = renderInputType; -})(PS["DOM.HTML.Indexed.InputType"] = PS["DOM.HTML.Indexed.InputType"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Prelude = PS["Prelude"]; - var Profunctor = function (dimap) { - this.dimap = dimap; - }; - var profunctorFn = new Profunctor(function (a2b) { - return function (c2d) { - return function (b2c) { - return function ($9) { - return c2d(b2c(a2b($9))); - }; - }; - }; - }); - var dimap = function (dict) { - return dict.dimap; - }; - var rmap = function (dictProfunctor) { - return function (b2c) { - return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c); - }; - }; - exports["dimap"] = dimap; - exports["Profunctor"] = Profunctor; - exports["rmap"] = rmap; - exports["profunctorFn"] = profunctorFn; -})(PS["Data.Profunctor"] = PS["Data.Profunctor"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Profunctor = PS["Data.Profunctor"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var Strong = function (Profunctor0, first, second) { - this.Profunctor0 = Profunctor0; - this.first = first; - this.second = second; - }; - var strongFn = new Strong(function () { - return Data_Profunctor.profunctorFn; - }, function (a2b) { - return function (v) { - return new Data_Tuple.Tuple(a2b(v.value0), v.value1); - }; - }, Data_Functor.map(Data_Tuple.functorTuple)); - var second = function (dict) { - return dict.second; - }; - var first = function (dict) { - return dict.first; - }; - exports["first"] = first; - exports["second"] = second; - exports["Strong"] = Strong; - exports["strongFn"] = strongFn; -})(PS["Data.Profunctor.Strong"] = PS["Data.Profunctor.Strong"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Const = PS["Data.Const"]; - var Data_Either = PS["Data.Either"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Profunctor = PS["Data.Profunctor"]; - var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; - var Data_Profunctor_Cochoice = PS["Data.Profunctor.Cochoice"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var Forget = function (x) { - return x; - }; - var profunctorForget = new Data_Profunctor.Profunctor(function (f) { - return function (v) { - return function (v1) { - return function ($27) { - return v1(f($27)); - }; - }; - }; - }); - var strongForget = new Data_Profunctor_Strong.Strong(function () { - return profunctorForget; - }, function (v) { - return function ($28) { - return v(Data_Tuple.fst($28)); - }; - }, function (v) { - return function ($29) { - return v(Data_Tuple.snd($29)); - }; - }); - var newtypeForget = new Data_Newtype.Newtype(function (n) { - return n; - }, Forget); - exports["Forget"] = Forget; - exports["newtypeForget"] = newtypeForget; - exports["profunctorForget"] = profunctorForget; - exports["strongForget"] = strongForget; -})(PS["Data.Lens.Internal.Forget"] = PS["Data.Lens.Internal.Forget"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Function = PS["Data.Function"]; - var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; - var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; - var Data_Lens_Types = PS["Data.Lens.Types"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var view = function (l) { - return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn))); - }; - var viewOn = function (s) { - return function (l) { - return view(l)(s); - }; - }; - var use = function (dictMonadState) { - return function (p) { - return Control_Monad_State_Class.gets(dictMonadState)(function (v) { - return viewOn(v)(p); - }); - }; - }; - exports["viewOn"] = viewOn; - exports["view"] = view; - exports["use"] = use; -})(PS["Data.Lens.Getter"] = PS["Data.Lens.Getter"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; - var Data_Lens_Internal_Shop = PS["Data.Lens.Internal.Shop"]; - var Data_Lens_Types = PS["Data.Lens.Types"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Profunctor = PS["Data.Profunctor"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var lens$prime = function (to) { - return function (dictStrong) { - return function (pab) { - return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) { - return v.value1(v.value0); - })(Data_Profunctor_Strong.first(dictStrong)(pab)); - }; - }; - }; - var lens = function (get) { - return function (set) { - return function (dictStrong) { - return lens$prime(function (s) { - return new Data_Tuple.Tuple(get(s), function (b) { - return set(s)(b); - }); - })(dictStrong); - }; - }; - }; - exports["lens"] = lens; -})(PS["Data.Lens.Lens"] = PS["Data.Lens.Lens"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; - var Data_Lens_Types = PS["Data.Lens.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var over = function (l) { - return l; - }; - var set = function (l) { - return function (b) { - return over(l)(Data_Function["const"](b)); - }; - }; - var modifying = function (dictMonadState) { - return function (p) { - return function (f) { - return Data_Functor["void"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f))); - }; - }; - }; - var assign = function (dictMonadState) { - return function (p) { - return function (b) { - return Data_Functor["void"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b))); - }; - }; - }; - exports["over"] = over; - exports["set"] = set; - exports["assign"] = assign; - exports["modifying"] = modifying; -})(PS["Data.Lens.Setter"] = PS["Data.Lens.Setter"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Monad_List_Trans = PS["Control.Monad.List.Trans"]; - var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"]; - var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"]; - var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; - var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Prelude = PS["Prelude"]; - var MonadAff = function (MonadEffect0, liftAff) { - this.MonadEffect0 = MonadEffect0; - this.liftAff = liftAff; - }; - var monadAffAff = new MonadAff(function () { - return Effect_Aff.monadEffectAff; - }, Control_Category.identity(Control_Category.categoryFn)); - var liftAff = function (dict) { - return dict.liftAff; - }; - exports["liftAff"] = liftAff; - exports["MonadAff"] = MonadAff; - exports["monadAffAff"] = monadAffAff; -})(PS["Effect.Aff.Class"] = PS["Effect.Aff.Class"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord = PS["Data.Ord"]; - var Prelude = PS["Prelude"]; - var OrdBox = (function () { - function OrdBox(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - OrdBox.create = function (value0) { - return function (value1) { - return function (value2) { - return new OrdBox(value0, value1, value2); - }; - }; - }; - return OrdBox; - })(); - var unOrdBox = function (v) { - return v.value2; - }; - var mkOrdBox = function (dictOrd) { - return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd)); - }; - var eqOrdBox = new Data_Eq.Eq(function (v) { - return function (v1) { - return v.value0(v.value2)(v1.value2); - }; - }); - var ordOrdBox = new Data_Ord.Ord(function () { - return eqOrdBox; - }, function (v) { - return function (v1) { - return v.value1(v.value2)(v1.value2); - }; - }); - exports["mkOrdBox"] = mkOrdBox; - exports["unOrdBox"] = unOrdBox; - exports["eqOrdBox"] = eqOrdBox; - exports["ordOrdBox"] = ordOrdBox; -})(PS["Halogen.Data.OrdBox"] = PS["Halogen.Data.OrdBox"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var ButtonButton = (function () { - function ButtonButton() { - - }; - ButtonButton.value = new ButtonButton(); - return ButtonButton; - })(); - var ButtonSubmit = (function () { - function ButtonSubmit() { - - }; - ButtonSubmit.value = new ButtonSubmit(); - return ButtonSubmit; - })(); - var ButtonReset = (function () { - function ButtonReset() { - - }; - ButtonReset.value = new ButtonReset(); - return ButtonReset; - })(); - var renderButtonType = function (v) { - if (v instanceof ButtonButton) { - return "button"; - }; - if (v instanceof ButtonSubmit) { - return "submit"; - }; - if (v instanceof ButtonReset) { - return "reset"; - }; - throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): " + [ v.constructor.name ]); - }; - exports["ButtonButton"] = ButtonButton; - exports["ButtonSubmit"] = ButtonSubmit; - exports["ButtonReset"] = ButtonReset; - exports["renderButtonType"] = renderButtonType; -})(PS["DOM.HTML.Indexed.ButtonType"] = PS["DOM.HTML.Indexed.ButtonType"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var On = (function () { - function On() { - - }; - On.value = new On(); - return On; - })(); - var Off = (function () { - function Off() { - - }; - Off.value = new Off(); - return Off; - })(); - var renderOnOff = function (v) { - if (v instanceof On) { - return "on"; - }; - if (v instanceof Off) { - return "off"; - }; - throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): " + [ v.constructor.name ]); - }; - exports["On"] = On; - exports["Off"] = Off; - exports["renderOnOff"] = renderOnOff; -})(PS["DOM.HTML.Indexed.OnOff"] = PS["DOM.HTML.Indexed.OnOff"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Prelude = PS["Prelude"]; - var Web_DOM = PS["Web.DOM"]; - var RefUpdate = (function () { - function RefUpdate(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - RefUpdate.create = function (value0) { - return function (value1) { - return function (value2) { - return new RefUpdate(value0, value1, value2); - }; - }; - }; - return RefUpdate; - })(); - var Query = (function () { - function Query(value0) { - this.value0 = value0; - }; - Query.create = function (value0) { - return new Query(value0); - }; - return Query; - })(); - var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) { - return function (g) { - return function (v) { - if (v instanceof RefUpdate) { - return new RefUpdate(v.value0, v.value1, f(v.value2)); - }; - if (v instanceof Query) { - return new Query(g(v.value0)); - }; - throw new Error("Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): " + [ v.constructor.name ]); - }; - }; - }); - var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF)); - exports["RefUpdate"] = RefUpdate; - exports["Query"] = Query; - exports["bifunctorInputF"] = bifunctorInputF; - exports["functorInputF"] = functorInputF; -})(PS["Halogen.Query.InputF"] = PS["Halogen.Query.InputF"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Effect = PS["Effect"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Prelude = PS["Prelude"]; - var Step = (function () { - function Step(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - Step.create = function (value0) { - return function (value1) { - return function (value2) { - return new Step(value0, value1, value2); - }; - }; - }; - return Step; - })(); - var step = function (v) { - return v.value1; - }; - var halt = function (v) { - return v.value2; - }; - var extract = function (v) { - return v.value0; - }; - exports["Step"] = Step; - exports["extract"] = extract; - exports["step"] = step; - exports["halt"] = halt; -})(PS["Halogen.VDom.Machine"] = PS["Halogen.VDom.Machine"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var ElemSpec = (function () { - function ElemSpec(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - ElemSpec.create = function (value0) { - return function (value1) { - return function (value2) { - return new ElemSpec(value0, value1, value2); - }; - }; - }; - return ElemSpec; - })(); - var Text = (function () { - function Text(value0) { - this.value0 = value0; - }; - Text.create = function (value0) { - return new Text(value0); - }; - return Text; - })(); - var Elem = (function () { - function Elem(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Elem.create = function (value0) { - return function (value1) { - return new Elem(value0, value1); - }; - }; - return Elem; - })(); - var Keyed = (function () { - function Keyed(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Keyed.create = function (value0) { - return function (value1) { - return new Keyed(value0, value1); - }; - }; - return Keyed; - })(); - var Widget = (function () { - function Widget(value0) { - this.value0 = value0; - }; - Widget.create = function (value0) { - return new Widget(value0); - }; - return Widget; - })(); - var Grafted = (function () { - function Grafted(value0) { - this.value0 = value0; - }; - Grafted.create = function (value0) { - return new Grafted(value0); - }; - return Grafted; - })(); - var Graft = (function () { - function Graft(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - Graft.create = function (value0) { - return function (value1) { - return function (value2) { - return new Graft(value0, value1, value2); - }; - }; - }; - return Graft; - })(); - var unGraft = function (f) { - return function ($90) { - return f($90); - }; - }; - var graft = Unsafe_Coerce.unsafeCoerce; - var functorElemSpec = new Data_Functor.Functor(function (f) { - return function (m) { - return new ElemSpec(m.value0, m.value1, f(m.value2)); - }; - }); - var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) { - return function (g) { - return unGraft(function (v) { - return graft(new Graft(function ($92) { - return f(v.value0($92)); - }, function ($93) { - return g(v.value1($93)); - }, v.value2)); - }); - }; - }); - var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) { - return function (g) { - return function (v) { - if (v instanceof Text) { - return new Text(v.value0); - }; - if (v instanceof Grafted) { - return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0)); - }; - return new Grafted(graft(new Graft(f, g, v))); - }; - }; - }); - var runGraft = unGraft(function (v) { - var go = function (v2) { - if (v2 instanceof Text) { - return new Text(v2.value0); - }; - if (v2 instanceof Elem) { - return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1)); - }; - if (v2 instanceof Keyed) { - return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1)); - }; - if (v2 instanceof Widget) { - return new Widget(v.value1(v2.value0)); - }; - if (v2 instanceof Grafted) { - return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0)); - }; - throw new Error("Failed pattern match at Halogen.VDom.Types (line 74, column 7 - line 74, column 27): " + [ v2.constructor.name ]); - }; - return go(v.value2); - }); - exports["Text"] = Text; - exports["Elem"] = Elem; - exports["Keyed"] = Keyed; - exports["Widget"] = Widget; - exports["Grafted"] = Grafted; - exports["Graft"] = Graft; - exports["graft"] = graft; - exports["unGraft"] = unGraft; - exports["runGraft"] = runGraft; - exports["ElemSpec"] = ElemSpec; - exports["bifunctorVDom"] = bifunctorVDom; - exports["bifunctorGraft"] = bifunctorGraft; - exports["functorElemSpec"] = functorElemSpec; -})(PS["Halogen.VDom.Types"] = PS["Halogen.VDom.Types"] || {}); -(function(exports) { - "use strict"; - - exports.unsafeGetAny = function (key, obj) { - return obj[key]; - }; - - exports.unsafeHasAny = function (key, obj) { - return obj.hasOwnProperty(key); - }; - - exports.unsafeSetAny = function (key, val, obj) { - obj[key] = val; - }; - - exports.forE = function (a, f) { - var b = []; - for (var i = 0; i < a.length; i++) { - b.push(f(i, a[i])); - } - return b; - }; - - exports.forInE = function (o, f) { - var ks = Object.keys(o); - for (var i = 0; i < ks.length; i++) { - var k = ks[i]; - f(k, o[k]); - } - }; - - exports.diffWithIxE = function (a1, a2, f1, f2, f3) { - var a3 = []; - var l1 = a1.length; - var l2 = a2.length; - var i = 0; - while (1) { - if (i < l1) { - if (i < l2) { - a3.push(f1(i, a1[i], a2[i])); - } else { - f2(i, a1[i]); - } - } else if (i < l2) { - a3.push(f3(i, a2[i])); - } else { - break; - } - i++; - } - return a3; - }; - - exports.strMapWithIxE = function (as, fk, f) { - var o = {}; - for (var i = 0; i < as.length; i++) { - var a = as[i]; - var k = fk(a); - o[k] = f(k, i, a); - } - return o; - }; - - exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) { - var o2 = {}; - for (var i = 0; i < as.length; i++) { - var a = as[i]; - var k = fk(a); - if (o1.hasOwnProperty(k)) { - o2[k] = f1(k, i, o1[k], a); - } else { - o2[k] = f3(k, i, a); - } - } - for (var k in o1) { - if (k in o2) { - continue; - } - f2(k, o1[k]); - } - return o2; - }; - - exports.refEq = function (a, b) { - return a === b; - }; - - exports.createTextNode = function (s, doc) { - return doc.createTextNode(s); - }; - - exports.setTextContent = function (s, n) { - n.textContent = s; - }; - - exports.createElement = function (ns, name, doc) { - if (ns != null) { - return doc.createElementNS(ns, name); - } else { - return doc.createElement(name) - } - }; - - exports.insertChildIx = function (i, a, b) { - var n = b.childNodes.item(i) || null; - if (n !== a) { - b.insertBefore(a, n); - } - }; - - exports.removeChild = function (a, b) { - if (b && a.parentNode === b) { - b.removeChild(a); - } - }; - - exports.parentNode = function (a) { - return a.parentNode; - }; - - exports.setAttribute = function (ns, attr, val, el) { - if (ns != null) { - el.setAttributeNS(ns, attr, val); - } else { - el.setAttribute(attr, val); - } - }; - - exports.removeAttribute = function (ns, attr, el) { - if (ns != null) { - el.removeAttributeNS(ns, attr); - } else { - el.removeAttribute(attr); - } - }; - - exports.addEventListener = function (ev, listener, el) { - el.addEventListener(ev, listener, false); - }; - - exports.removeEventListener = function (ev, listener, el) { - el.removeEventListener(ev, listener, false); - }; - - exports.jsUndefined = void 0; -})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {}); -(function(exports) { - "use strict"; - - var getEffProp = function (name) { - return function (node) { - return function () { - return node[name]; - }; - }; - }; - - exports._parentNode = getEffProp("parentNode"); - - exports._nextSibling = getEffProp("nextSibling"); - - exports.insertBefore = function (node1) { - return function (node2) { - return function (parent) { - return function () { - return parent.insertBefore(node1, node2); - }; - }; - }; - }; - - exports.appendChild = function (node) { - return function (parent) { - return function () { - return parent.appendChild(node); - }; - }; - }; - - exports.removeChild = function (node) { - return function (parent) { - return function () { - return parent.removeChild(node); - }; - }; - }; -})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Web.DOM.Node"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Enum = PS["Data.Enum"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Effect = PS["Effect"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"]; - var Web_DOM_NodeType = PS["Web.DOM.NodeType"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Web_Internal_FFI = PS["Web.Internal.FFI"]; - var parentNode = function ($2) { - return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign["_parentNode"]($2)); - }; - var nextSibling = function ($6) { - return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign["_nextSibling"]($6)); - }; - exports["parentNode"] = parentNode; - exports["nextSibling"] = nextSibling; - exports["insertBefore"] = $foreign.insertBefore; - exports["appendChild"] = $foreign.appendChild; - exports["removeChild"] = $foreign.removeChild; -})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Halogen.VDom.Util"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Foreign_Object = PS["Foreign.Object"]; - var Foreign_Object_ST = PS["Foreign.Object.ST"]; - var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_Node = PS["Web.DOM.Node"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var unsafeLookup = $foreign.unsafeGetAny; - var unsafeFreeze = Unsafe_Coerce.unsafeCoerce; - var pokeMutMap = $foreign.unsafeSetAny; - var newMutMap = Foreign_Object_ST["new"]; - var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit); - exports["effectUnit"] = effectUnit; - exports["newMutMap"] = newMutMap; - exports["pokeMutMap"] = pokeMutMap; - exports["unsafeFreeze"] = unsafeFreeze; - exports["unsafeLookup"] = unsafeLookup; - exports["unsafeGetAny"] = $foreign.unsafeGetAny; - exports["unsafeHasAny"] = $foreign.unsafeHasAny; - exports["unsafeSetAny"] = $foreign.unsafeSetAny; - exports["forE"] = $foreign.forE; - exports["forInE"] = $foreign.forInE; - exports["diffWithIxE"] = $foreign.diffWithIxE; - exports["diffWithKeyAndIxE"] = $foreign.diffWithKeyAndIxE; - exports["strMapWithIxE"] = $foreign.strMapWithIxE; - exports["refEq"] = $foreign.refEq; - exports["createTextNode"] = $foreign.createTextNode; - exports["setTextContent"] = $foreign.setTextContent; - exports["createElement"] = $foreign.createElement; - exports["insertChildIx"] = $foreign.insertChildIx; - exports["removeChild"] = $foreign.removeChild; - exports["parentNode"] = $foreign.parentNode; - exports["setAttribute"] = $foreign.setAttribute; - exports["removeAttribute"] = $foreign.removeAttribute; - exports["addEventListener"] = $foreign.addEventListener; - exports["removeEventListener"] = $foreign.removeEventListener; - exports["jsUndefined"] = $foreign.jsUndefined; -})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Ref = PS["Effect.Ref"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Foreign = PS["Foreign"]; - var Foreign_Object = PS["Foreign.Object"]; - var Halogen_VDom = PS["Halogen.VDom"]; - var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; - var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; - var Halogen_VDom_Util = PS["Halogen.VDom.Util"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Created = (function () { - function Created(value0) { - this.value0 = value0; - }; - Created.create = function (value0) { - return new Created(value0); - }; - return Created; - })(); - var Removed = (function () { - function Removed(value0) { - this.value0 = value0; - }; - Removed.create = function (value0) { - return new Removed(value0); - }; - return Removed; - })(); - var Attribute = (function () { - function Attribute(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - Attribute.create = function (value0) { - return function (value1) { - return function (value2) { - return new Attribute(value0, value1, value2); - }; - }; - }; - return Attribute; - })(); - var Property = (function () { - function Property(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Property.create = function (value0) { - return function (value1) { - return new Property(value0, value1); - }; - }; - return Property; - })(); - var Handler = (function () { - function Handler(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Handler.create = function (value0) { - return function (value1) { - return new Handler(value0, value1); - }; - }; - return Handler; - })(); - var Ref = (function () { - function Ref(value0) { - this.value0 = value0; - }; - Ref.create = function (value0) { - return new Ref(value0); - }; - return Ref; - })(); - var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny; - var setProperty = Halogen_VDom_Util.unsafeSetAny; - var removeProperty = function (key, el) { - var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el)); - if (v === "string") { - return Halogen_VDom_Util.unsafeSetAny(key, "", el); - }; - if (key === "rowSpan") { - return Halogen_VDom_Util.unsafeSetAny(key, 1, el); - }; - if (key === "colSpan") { - return Halogen_VDom_Util.unsafeSetAny(key, 1, el); - }; - return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el); - }; - var propToStrKey = function (v) { - if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) { - return "attr/" + (v.value0.value0 + (":" + v.value1)); - }; - if (v instanceof Attribute) { - return "attr/:" + v.value1; - }; - if (v instanceof Property) { - return "prop/" + v.value0; - }; - if (v instanceof Handler) { - return "handler/" + v.value0; - }; - if (v instanceof Ref) { - return "ref"; - }; - throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop (line 178, column 16 - line 185, column 1): " + [ v.constructor.name ]); - }; - var propFromString = Unsafe_Coerce.unsafeCoerce; - var propFromInt = Unsafe_Coerce.unsafeCoerce; - var propFromBoolean = Unsafe_Coerce.unsafeCoerce; - var functorProp = new Data_Functor.Functor(function (f) { - return function (v) { - if (v instanceof Handler) { - return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1)); - }; - if (v instanceof Ref) { - return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0)); - }; - return v; - }; - }); - var buildProp = function (emit) { - return function (el) { - var removeProp = function (prevEvents) { - return function (v, v1) { - if (v1 instanceof Attribute) { - return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el); - }; - if (v1 instanceof Property) { - return removeProperty(v1.value0, el); - }; - if (v1 instanceof Handler) { - var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents); - return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el); - }; - if (v1 instanceof Ref) { - return Data_Unit.unit; - }; - throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop (line 165, column 5 - line 175, column 18): " + [ v1.constructor.name ]); - }; - }; - var mbEmit = function (v) { - if (v instanceof Data_Maybe.Just) { - return emit(v.value0)(); - }; - return Data_Unit.unit; - }; - var done = function (ps) { - var v = Foreign_Object.lookup("ref")(ps); - if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) { - return function () { - return mbEmit(v.value0.value0(new Removed(el))); - }; - }; - return Halogen_VDom_Util.effectUnit; - }; - var diffProp = function (prevEvents, events) { - return function (v, v1, v11, v2) { - if (v11 instanceof Attribute && v2 instanceof Attribute) { - var $61 = v11.value2 === v2.value2; - if ($61) { - return v2; - }; - Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el); - return v2; - }; - if (v11 instanceof Property && v2 instanceof Property) { - var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1); - if (v4) { - return v2; - }; - if (v2.value0 === "value") { - var elVal = unsafeGetProperty("value", el); - var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1); - if ($70) { - return v2; - }; - setProperty(v2.value0, v2.value1, el); - return v2; - }; - setProperty(v2.value0, v2.value1, el); - return v2; - }; - if (v11 instanceof Handler && v2 instanceof Handler) { - var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents); - Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))(); - Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events); - return v2; - }; - return v2; - }; - }; - var applyProp = function (events) { - return function (v, v1, v2) { - if (v2 instanceof Attribute) { - Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el); - return v2; - }; - if (v2 instanceof Property) { - setProperty(v2.value0, v2.value1, el); - return v2; - }; - if (v2 instanceof Handler) { - var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events); - if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) { - Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))(); - return v2; - }; - var v4 = Effect_Ref["new"](v2.value1)(); - var v5 = Web_Event_EventTarget.eventListener(function (ev) { - return function __do() { - var v5 = Effect_Ref.read(v4)(); - return mbEmit(v5(ev)); - }; - })(); - Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events); - Halogen_VDom_Util.addEventListener(v2.value0, v5, el); - return v2; - }; - if (v2 instanceof Ref) { - mbEmit(v2.value0(new Created(el))); - return v2; - }; - throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop (line 109, column 5 - line 131, column 15): " + [ v2.constructor.name ]); - }; - }; - var patch = function (prevEvents, ps1) { - return function (ps2) { - var v = Halogen_VDom_Util.newMutMap(); - var onThis = removeProp(prevEvents); - var onThese = diffProp(prevEvents, v); - var onThat = applyProp(v); - var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat); - return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1)); - }; - }; - var render = function (ps1) { - var v = Halogen_VDom_Util.newMutMap(); - var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v)); - return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1)); - }; - return render; - }; - }; - exports["Attribute"] = Attribute; - exports["Property"] = Property; - exports["Handler"] = Handler; - exports["Ref"] = Ref; - exports["Created"] = Created; - exports["Removed"] = Removed; - exports["propFromString"] = propFromString; - exports["propFromBoolean"] = propFromBoolean; - exports["propFromInt"] = propFromInt; - exports["buildProp"] = buildProp; - exports["functorProp"] = functorProp; -})(PS["Halogen.VDom.DOM.Prop"] = PS["Halogen.VDom.DOM.Prop"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; - var DOM_HTML_Indexed_CrossOriginValue = PS["DOM.HTML.Indexed.CrossOriginValue"]; - var DOM_HTML_Indexed_DirValue = PS["DOM.HTML.Indexed.DirValue"]; - var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var DOM_HTML_Indexed_KindValue = PS["DOM.HTML.Indexed.KindValue"]; - var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"]; - var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"]; - var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"]; - var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"]; - var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"]; - var DOM_HTML_Indexed_ScopeValue = PS["DOM.HTML.Indexed.ScopeValue"]; - var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"]; - var DOM_HTML_Indexed_WrapValue = PS["DOM.HTML.Indexed.WrapValue"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_MediaType = PS["Data.MediaType"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Tuple = PS["Data.Tuple"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Halogen_VDom = PS["Halogen.VDom"]; - var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"]; - var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var HTML = function (x) { - return x; - }; - var ClassName = function (x) { - return x; - }; - var IsProp = function (toPropValue) { - this.toPropValue = toPropValue; - }; - var toPropValue = function (dict) { - return dict.toPropValue; - }; - var text = function ($27) { - return HTML(Halogen_VDom_Types.Text.create($27)); - }; - var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString); - var slot = function ($29) { - return HTML(Halogen_VDom_Types.Widget.create($29)); - }; - var ref = function (f) { - return Halogen_VDom_DOM_Prop.Ref.create(function ($31) { - return f((function (v) { - if (v instanceof Halogen_VDom_DOM_Prop.Created) { - return new Data_Maybe.Just(v.value0); - }; - if (v instanceof Halogen_VDom_DOM_Prop.Removed) { - return Data_Maybe.Nothing.value; - }; - throw new Error("Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): " + [ v.constructor.name ]); - })($31)); - }); - }; - var prop = function (dictIsProp) { - return function (v) { - return function ($32) { - return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32)); - }; - }; - }; - var onOffIsProp = new IsProp(function ($35) { - return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35)); - }); - var newtypeClassName = new Data_Newtype.Newtype(function (n) { - return n; - }, ClassName); - var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt); - var inputTypeIsProp = new IsProp(function ($40) { - return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40)); - }); - var handler = Halogen_VDom_DOM_Prop.Handler.create; - var element = function (ns) { - return function (name) { - return function (props) { - return function (children) { - return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children); - }; - }; - }; - }; - var buttonTypeIsProp = new IsProp(function ($44) { - return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44)); - }); - var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean); - var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) { - return function (g) { - return function (v) { - return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v); - }; - }; - }); - var attr = function (ns) { - return function (v) { - return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v); - }; - }; - exports["HTML"] = HTML; - exports["slot"] = slot; - exports["text"] = text; - exports["element"] = element; - exports["prop"] = prop; - exports["attr"] = attr; - exports["handler"] = handler; - exports["ref"] = ref; - exports["IsProp"] = IsProp; - exports["toPropValue"] = toPropValue; - exports["ClassName"] = ClassName; - exports["bifunctorHTML"] = bifunctorHTML; - exports["stringIsProp"] = stringIsProp; - exports["intIsProp"] = intIsProp; - exports["booleanIsProp"] = booleanIsProp; - exports["buttonTypeIsProp"] = buttonTypeIsProp; - exports["inputTypeIsProp"] = inputTypeIsProp; - exports["onOffIsProp"] = onOffIsProp; - exports["newtypeClassName"] = newtypeClassName; -})(PS["Halogen.HTML.Core"] = PS["Halogen.HTML.Core"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Const = PS["Data.Const"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Pure = (function () { - function Pure(value0) { - this.value0 = value0; - }; - Pure.create = function (value0) { - return new Pure(value0); - }; - return Pure; - })(); - var Lift = (function () { - function Lift(value0) { - this.value0 = value0; - }; - Lift.create = function (value0) { - return new Lift(value0); - }; - return Lift; - })(); - var Ap = (function () { - function Ap(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Ap.create = function (value0) { - return function (value1) { - return new Ap(value0, value1); - }; - }; - return Ap; - })(); - var mkAp = function (fba) { - return function (fb) { - return new Ap(fba, fb); - }; - }; - var liftFreeAp = Lift.create; - var goLeft = function ($copy_dictApplicative) { - return function ($copy_fStack) { - return function ($copy_valStack) { - return function ($copy_nat) { - return function ($copy_func) { - return function ($copy_count) { - var $tco_var_dictApplicative = $copy_dictApplicative; - var $tco_var_fStack = $copy_fStack; - var $tco_var_valStack = $copy_valStack; - var $tco_var_nat = $copy_nat; - var $tco_var_func = $copy_func; - var $tco_done = false; - var $tco_result; - function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) { - if (func instanceof Pure) { - $tco_done = true; - return new Data_Tuple.Tuple(new Data_List_Types.Cons({ - func: Control_Applicative.pure(dictApplicative)(func.value0), - count: count - }, fStack), valStack); - }; - if (func instanceof Lift) { - $tco_done = true; - return new Data_Tuple.Tuple(new Data_List_Types.Cons({ - func: nat(func.value0), - count: count - }, fStack), valStack); - }; - if (func instanceof Ap) { - $tco_var_dictApplicative = dictApplicative; - $tco_var_fStack = fStack; - $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack); - $tco_var_nat = nat; - $tco_var_func = func.value0; - $copy_count = count + 1 | 0; - return; - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): " + [ func.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count); - }; - return $tco_result; - }; - }; - }; - }; - }; - }; - var goApply = function ($copy_dictApplicative) { - return function ($copy_fStack) { - return function ($copy_vals) { - return function ($copy_gVal) { - var $tco_var_dictApplicative = $copy_dictApplicative; - var $tco_var_fStack = $copy_fStack; - var $tco_var_vals = $copy_vals; - var $tco_done = false; - var $tco_result; - function $tco_loop(dictApplicative, fStack, vals, gVal) { - if (fStack instanceof Data_List_Types.Nil) { - $tco_done = true; - return new Data_Either.Left(gVal); - }; - if (fStack instanceof Data_List_Types.Cons) { - var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal); - var $14 = fStack.value0.count === 1; - if ($14) { - if (fStack.value1 instanceof Data_List_Types.Nil) { - $tco_done = true; - return new Data_Either.Left(gRes); - }; - $tco_var_dictApplicative = dictApplicative; - $tco_var_fStack = fStack.value1; - $tco_var_vals = vals; - $copy_gVal = gRes; - return; - }; - if (vals instanceof Data_List_Types.Nil) { - $tco_done = true; - return new Data_Either.Left(gRes); - }; - if (vals instanceof Data_List_Types.Cons) { - $tco_done = true; - return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({ - func: gRes, - count: fStack.value0.count - 1 | 0 - }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1))); - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): " + [ vals.constructor.name ]); - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): " + [ fStack.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal); - }; - return $tco_result; - }; - }; - }; - }; - var functorFreeAp = new Data_Functor.Functor(function (f) { - return function (x) { - return mkAp(new Pure(f))(x); - }; - }); - var foldFreeAp = function (dictApplicative) { - return function (nat) { - return function (z) { - var go = function ($copy_v) { - var $tco_done = false; - var $tco_result; - function $tco_loop(v) { - if (v.value1.value0 instanceof Pure) { - var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0)); - if (v1 instanceof Data_Either.Left) { - $tco_done = true; - return v1.value0; - }; - if (v1 instanceof Data_Either.Right) { - $copy_v = v1.value0; - return; - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): " + [ v1.constructor.name ]); - }; - if (v.value1.value0 instanceof Lift) { - var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0)); - if (v1 instanceof Data_Either.Left) { - $tco_done = true; - return v1.value0; - }; - if (v1 instanceof Data_Either.Right) { - $copy_v = v1.value0; - return; - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): " + [ v1.constructor.name ]); - }; - if (v.value1.value0 instanceof Ap) { - var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1); - $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1); - return; - }; - throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): " + [ v.value1.value0.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($copy_v); - }; - return $tco_result; - }; - return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z))); - }; - }; - }; - var retractFreeAp = function (dictApplicative) { - return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn)); - }; - var applyFreeAp = new Control_Apply.Apply(function () { - return functorFreeAp; - }, function (fba) { - return function (fb) { - return mkAp(fba)(fb); - }; - }); - var applicativeFreeAp = new Control_Applicative.Applicative(function () { - return applyFreeAp; - }, Pure.create); - var hoistFreeAp = function (f) { - return foldFreeAp(applicativeFreeAp)(function ($37) { - return liftFreeAp(f($37)); - }); - }; - exports["liftFreeAp"] = liftFreeAp; - exports["retractFreeAp"] = retractFreeAp; - exports["foldFreeAp"] = foldFreeAp; - exports["hoistFreeAp"] = hoistFreeAp; - exports["functorFreeAp"] = functorFreeAp; - exports["applyFreeAp"] = applyFreeAp; - exports["applicativeFreeAp"] = applicativeFreeAp; -})(PS["Control.Applicative.Free"] = PS["Control.Applicative.Free"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Prelude = PS["Prelude"]; - var CatQueue = (function () { - function CatQueue(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - CatQueue.create = function (value0) { - return function (value1) { - return new CatQueue(value0, value1); - }; - }; - return CatQueue; - })(); - var uncons = function ($copy_v) { - var $tco_done = false; - var $tco_result; - function $tco_loop(v) { - if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) { - $tco_done = true; - return Data_Maybe.Nothing.value; - }; - if (v.value0 instanceof Data_List_Types.Nil) { - $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value); - return; - }; - if (v.value0 instanceof Data_List_Types.Cons) { - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1))); - }; - throw new Error("Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): " + [ v.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($copy_v); - }; - return $tco_result; - }; - var snoc = function (v) { - return function (a) { - return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1)); - }; - }; - var $$null = function (v) { - if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) { - return true; - }; - return false; - }; - var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value); - exports["CatQueue"] = CatQueue; - exports["empty"] = empty; - exports["null"] = $$null; - exports["snoc"] = snoc; - exports["uncons"] = uncons; -})(PS["Data.CatQueue"] = PS["Data.CatQueue"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Data_CatQueue = PS["Data.CatQueue"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unfoldable1 = PS["Data.Unfoldable1"]; - var Prelude = PS["Prelude"]; - var CatNil = (function () { - function CatNil() { - - }; - CatNil.value = new CatNil(); - return CatNil; - })(); - var CatCons = (function () { - function CatCons(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - CatCons.create = function (value0) { - return function (value1) { - return new CatCons(value0, value1); - }; - }; - return CatCons; - })(); - var link = function (v) { - return function (v1) { - if (v instanceof CatNil) { - return v1; - }; - if (v1 instanceof CatNil) { - return v; - }; - if (v instanceof CatCons) { - return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1)); - }; - throw new Error("Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): " + [ v.constructor.name, v1.constructor.name ]); - }; - }; - var foldr = function (k) { - return function (b) { - return function (q) { - var foldl = function ($copy_v) { - return function ($copy_c) { - return function ($copy_v1) { - var $tco_var_v = $copy_v; - var $tco_var_c = $copy_c; - var $tco_done = false; - var $tco_result; - function $tco_loop(v, c, v1) { - if (v1 instanceof Data_List_Types.Nil) { - $tco_done = true; - return c; - }; - if (v1 instanceof Data_List_Types.Cons) { - $tco_var_v = v; - $tco_var_c = v(c)(v1.value0); - $copy_v1 = v1.value1; - return; - }; - throw new Error("Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): " + [ v.constructor.name, c.constructor.name, v1.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1); - }; - return $tco_result; - }; - }; - }; - var go = function ($copy_xs) { - return function ($copy_ys) { - var $tco_var_xs = $copy_xs; - var $tco_done = false; - var $tco_result; - function $tco_loop(xs, ys) { - var v = Data_CatQueue.uncons(xs); - if (v instanceof Data_Maybe.Nothing) { - $tco_done = true; - return foldl(function (x) { - return function (i) { - return i(x); - }; - })(b)(ys); - }; - if (v instanceof Data_Maybe.Just) { - $tco_var_xs = v.value0.value1; - $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys); - return; - }; - throw new Error("Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): " + [ v.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_xs, $copy_ys); - }; - return $tco_result; - }; - }; - return go(q)(Data_List_Types.Nil.value); - }; - }; - }; - var uncons = function (v) { - if (v instanceof CatNil) { - return Data_Maybe.Nothing.value; - }; - if (v instanceof CatCons) { - return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () { - var $44 = Data_CatQueue["null"](v.value1); - if ($44) { - return CatNil.value; - }; - return foldr(link)(CatNil.value)(v.value1); - })())); - }; - throw new Error("Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): " + [ v.constructor.name ]); - }; - var empty = CatNil.value; - var append = link; - var semigroupCatList = new Data_Semigroup.Semigroup(append); - var snoc = function (cat) { - return function (a) { - return append(cat)(new CatCons(a, Data_CatQueue.empty)); - }; - }; - exports["CatNil"] = CatNil; - exports["CatCons"] = CatCons; - exports["empty"] = empty; - exports["append"] = append; - exports["snoc"] = snoc; - exports["uncons"] = uncons; - exports["semigroupCatList"] = semigroupCatList; -})(PS["Data.CatList"] = PS["Data.CatList"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_CatList = PS["Data.CatList"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Free = (function () { - function Free(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Free.create = function (value0) { - return function (value1) { - return new Free(value0, value1); - }; - }; - return Free; - })(); - var Return = (function () { - function Return(value0) { - this.value0 = value0; - }; - Return.create = function (value0) { - return new Return(value0); - }; - return Return; - })(); - var Bind = (function () { - function Bind(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Bind.create = function (value0) { - return function (value1) { - return new Bind(value0, value1); - }; - }; - return Bind; - })(); - var toView = function ($copy_v) { - var $tco_done = false; - var $tco_result; - function $tco_loop(v) { - var runExpF = function (v2) { - return v2; - }; - var concatF = function (v2) { - return function (r) { - return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r)); - }; - }; - if (v.value0 instanceof Return) { - var v2 = Data_CatList.uncons(v.value1); - if (v2 instanceof Data_Maybe.Nothing) { - $tco_done = true; - return new Return(v.value0.value0); - }; - if (v2 instanceof Data_Maybe.Just) { - $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1); - return; - }; - throw new Error("Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): " + [ v2.constructor.name ]); - }; - if (v.value0 instanceof Bind) { - $tco_done = true; - return new Bind(v.value0.value0, function (a) { - return concatF(v.value0.value1(a))(v.value1); - }); - }; - throw new Error("Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): " + [ v.value0.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($copy_v); - }; - return $tco_result; - }; - var fromView = function (f) { - return new Free(f, Data_CatList.empty); - }; - var freeMonad = new Control_Monad.Monad(function () { - return freeApplicative; - }, function () { - return freeBind; - }); - var freeFunctor = new Data_Functor.Functor(function (k) { - return function (f) { - return Control_Bind.bindFlipped(freeBind)(function ($118) { - return Control_Applicative.pure(freeApplicative)(k($118)); - })(f); - }; - }); - var freeBind = new Control_Bind.Bind(function () { - return freeApply; - }, function (v) { - return function (k) { - return new Free(v.value0, Data_CatList.snoc(v.value1)(k)); - }; - }); - var freeApply = new Control_Apply.Apply(function () { - return freeFunctor; - }, Control_Monad.ap(freeMonad)); - var freeApplicative = new Control_Applicative.Applicative(function () { - return freeApply; - }, function ($119) { - return fromView(Return.create($119)); - }); - var liftF = function (f) { - return fromView(new Bind(f, function ($120) { - return Control_Applicative.pure(freeApplicative)($120); - })); - }; - var foldFree = function (dictMonadRec) { - return function (k) { - var go = function (f) { - var v = toView(f); - if (v instanceof Return) { - return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0)); - }; - if (v instanceof Bind) { - return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) { - return Control_Monad_Rec_Class.Loop.create(v.value1($127)); - })(k(v.value0)); - }; - throw new Error("Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): " + [ v.constructor.name ]); - }; - return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go); - }; - }; - exports["liftF"] = liftF; - exports["foldFree"] = foldFree; - exports["freeFunctor"] = freeFunctor; - exports["freeBind"] = freeBind; - exports["freeApplicative"] = freeApplicative; - exports["freeApply"] = freeApply; - exports["freeMonad"] = freeMonad; -})(PS["Control.Monad.Free"] = PS["Control.Monad.Free"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var runExists = Unsafe_Coerce.unsafeCoerce; - var mkExists = Unsafe_Coerce.unsafeCoerce; - exports["mkExists"] = mkExists; - exports["runExists"] = runExists; -})(PS["Data.Exists"] = PS["Data.Exists"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Comonad = PS["Control.Comonad"]; - var Control_Extend = PS["Control.Extend"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Distributive = PS["Data.Distributive"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Exists = PS["Data.Exists"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; - var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; - var Data_Traversable = PS["Data.Traversable"]; - var Prelude = PS["Prelude"]; - var unCoyoneda = function (f) { - return function (v) { - return Data_Exists.runExists(function (v1) { - return f(v1.value0)(v1.value1); - })(v); - }; - }; - exports["unCoyoneda"] = unCoyoneda; -})(PS["Data.Coyoneda"] = PS["Data.Coyoneda"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Either = PS["Data.Either"]; - var Data_Exists = PS["Data.Exists"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Class = PS["Effect.Class"]; - var Prelude = PS["Prelude"]; - var Bound = (function () { - function Bound(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Bound.create = function (value0) { - return function (value1) { - return new Bound(value0, value1); - }; - }; - return Bound; - })(); - var FreeT = (function () { - function FreeT(value0) { - this.value0 = value0; - }; - FreeT.create = function (value0) { - return new FreeT(value0); - }; - return FreeT; - })(); - var Bind = (function () { - function Bind(value0) { - this.value0 = value0; - }; - Bind.create = function (value0) { - return new Bind(value0); - }; - return Bind; - })(); - var monadTransFreeT = function (dictFunctor) { - return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { - return function (ma) { - return new FreeT(function (v) { - return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma); - }); - }; - }); - }; - var freeT = FreeT.create; - var bound = function (m) { - return function (f) { - return new Bind(Data_Exists.mkExists(new Bound(m, f))); - }; - }; - var functorFreeT = function (dictFunctor) { - return function (dictFunctor1) { - return new Data_Functor.Functor(function (f) { - return function (v) { - if (v instanceof FreeT) { - return new FreeT(function (v1) { - return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit)); - }); - }; - if (v instanceof Bind) { - return Data_Exists.runExists(function (v1) { - return bound(v1.value0)(function ($104) { - return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104)); - }); - })(v.value0); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): " + [ f.constructor.name, v.constructor.name ]); - }; - }); - }; - }; - var monadFreeT = function (dictFunctor) { - return function (dictMonad) { - return new Control_Monad.Monad(function () { - return applicativeFreeT(dictFunctor)(dictMonad); - }, function () { - return bindFreeT(dictFunctor)(dictMonad); - }); - }; - }; - var bindFreeT = function (dictFunctor) { - return function (dictMonad) { - return new Control_Bind.Bind(function () { - return applyFreeT(dictFunctor)(dictMonad); - }, function (v) { - return function (f) { - if (v instanceof Bind) { - return Data_Exists.runExists(function (v1) { - return bound(v1.value0)(function (x) { - return bound(function (v2) { - return v1.value1(x); - })(f); - }); - })(v.value0); - }; - return bound(function (v1) { - return v; - })(f); - }; - }); - }; - }; - var applyFreeT = function (dictFunctor) { - return function (dictMonad) { - return new Control_Apply.Apply(function () { - return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()); - }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad))); - }; - }; - var applicativeFreeT = function (dictFunctor) { - return function (dictMonad) { - return new Control_Applicative.Applicative(function () { - return applyFreeT(dictFunctor)(dictMonad); - }, function (a) { - return new FreeT(function (v) { - return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a)); - }); - }); - }; - }; - var liftFreeT = function (dictFunctor) { - return function (dictMonad) { - return function (fa) { - return new FreeT(function (v) { - return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa))); - }); - }; - }; - }; - var resume = function (dictFunctor) { - return function (dictMonadRec) { - var go = function (v) { - if (v instanceof FreeT) { - return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit)); - }; - if (v instanceof Bind) { - return Data_Exists.runExists(function (v1) { - var v2 = v1.value0(Data_Unit.unit); - if (v2 instanceof FreeT) { - return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) { - if (v3 instanceof Data_Either.Left) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0))); - }; - if (v3 instanceof Data_Either.Right) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) { - return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1); - })(v3.value0)))); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): " + [ v3.constructor.name ]); - }); - }; - if (v2 instanceof Bind) { - return Data_Exists.runExists(function (v3) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) { - return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1); - }))); - })(v2.value0); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): " + [ v2.constructor.name ]); - })(v.value0); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): " + [ v.constructor.name ]); - }; - return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go); - }; - }; - var runFreeT = function (dictFunctor) { - return function (dictMonadRec) { - return function (interp) { - var go = function (v) { - if (v instanceof Data_Either.Left) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0)); - }; - if (v instanceof Data_Either.Right) { - return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0)); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): " + [ v.constructor.name ]); - }; - return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec))); - }; - }; - }; - var monadRecFreeT = function (dictFunctor) { - return function (dictMonad) { - return new Control_Monad_Rec_Class.MonadRec(function () { - return monadFreeT(dictFunctor)(dictMonad); - }, function (f) { - var go = function (s) { - return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) { - if (v instanceof Control_Monad_Rec_Class.Loop) { - return go(v.value0); - }; - if (v instanceof Control_Monad_Rec_Class.Done) { - return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0); - }; - throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): " + [ v.constructor.name ]); - }); - }; - return go; - }); - }; - }; - exports["freeT"] = freeT; - exports["liftFreeT"] = liftFreeT; - exports["resume"] = resume; - exports["runFreeT"] = runFreeT; - exports["functorFreeT"] = functorFreeT; - exports["applyFreeT"] = applyFreeT; - exports["applicativeFreeT"] = applicativeFreeT; - exports["bindFreeT"] = bindFreeT; - exports["monadFreeT"] = monadFreeT; - exports["monadTransFreeT"] = monadTransFreeT; - exports["monadRecFreeT"] = monadRecFreeT; -})(PS["Control.Monad.Free.Trans"] = PS["Control.Monad.Free.Trans"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Parallel_Class = PS["Control.Parallel.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Profunctor = PS["Data.Profunctor"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Prelude = PS["Prelude"]; - var Emit = (function () { - function Emit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Emit.create = function (value0) { - return function (value1) { - return new Emit(value0, value1); - }; - }; - return Emit; - })(); - var runProcess = function (dictMonadRec) { - return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186)); - }); - }; - var profunctorAwait = new Data_Profunctor.Profunctor(function (f) { - return function (g) { - return function (v) { - return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v); - }; - }; - }); - var loop = function (dictFunctor) { - return function (dictMonad) { - return function (me) { - return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) { - return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me); - })(Data_Unit.unit); - }; - }; - }; - var fuseWithL = function (dictFunctor) { - return function (dictFunctor1) { - return function (dictFunctor2) { - return function (dictMonadRec) { - return function (zap) { - return function (fs) { - return function (gs) { - var go = function (v) { - return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) { - return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) { - return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) { - return Control_Monad_Free_Trans.freeT(function (v3) { - return go(t); - }); - })(zap(Data_Tuple.Tuple.create)(v1)(v2))); - }); - })); - }; - return Control_Monad_Free_Trans.freeT(function (v) { - return go(new Data_Tuple.Tuple(fs, gs)); - }); - }; - }; - }; - }; - }; - }; - }; - var fuseWith = function (dictFunctor) { - return function (dictFunctor1) { - return function (dictFunctor2) { - return function (dictMonadRec) { - return function (dictParallel) { - return function (zap) { - return function (fs) { - return function (gs) { - var go = function (v) { - return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) { - if (v1 instanceof Data_Either.Left) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0)); - }; - if (v1 instanceof Data_Either.Right) { - return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) { - return Control_Monad_Free_Trans.freeT(function (v2) { - return go(t); - }); - })(v1.value0))); - }; - throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): " + [ v1.constructor.name ]); - }); - }; - return Control_Monad_Free_Trans.freeT(function (v) { - return go(new Data_Tuple.Tuple(fs, gs)); - }); - }; - }; - }; - }; - }; - }; - }; - }; - var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait)); - var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) { - return function (g) { - return function (v) { - return new Emit(f(v.value0), g(v.value1)); - }; - }; - }); - var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit)); - var connect = function (dictMonadRec) { - return function (dictParallel) { - return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) { - return function (v) { - return function (v1) { - return f(v.value1)(v1(v.value0)); - }; - }; - }); - }; - }; - var emit = function (dictMonad) { - return function (o) { - return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit)); - }; - }; - var producer = function (dictMonad) { - return function (recv) { - return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) { - if (v instanceof Data_Either.Left) { - return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value); - }; - if (v instanceof Data_Either.Right) { - return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0)); - }; - throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): " + [ v.constructor.name ]); - })); - }; - }; - var pullFrom = function (dictMonadRec) { - return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) { - return function (v) { - return function (v1) { - return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1)); - }; - }; - }); - }; - var $$await = function (dictMonad) { - return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn)); - }; - exports["loop"] = loop; - exports["runProcess"] = runProcess; - exports["fuseWith"] = fuseWith; - exports["fuseWithL"] = fuseWithL; - exports["Emit"] = Emit; - exports["emit"] = emit; - exports["producer"] = producer; - exports["await"] = $$await; - exports["connect"] = connect; - exports["pullFrom"] = pullFrom; - exports["bifunctorEmit"] = bifunctorEmit; - exports["functorEmit"] = functorEmit; - exports["profunctorAwait"] = profunctorAwait; - exports["functorAwait"] = functorAwait; -})(PS["Control.Coroutine"] = PS["Control.Coroutine"] || {}); -(function(exports) { - /* globals exports, setTimeout */ - "use strict"; - - var AVar = function () { - - function MutableQueue () { - this.head = null; - this.last = null; - this.size = 0; - } - - function MutableCell (queue, value) { - this.queue = queue; - this.value = value; - this.next = null; - this.prev = null; - } - - function AVar (value) { - this.draining = false; - this.error = null; - this.value = value; - this.takes = new MutableQueue(); - this.reads = new MutableQueue(); - this.puts = new MutableQueue(); - } - - var EMPTY = {}; - - function runEff(eff) { - try { - eff(); - } catch (error) { - setTimeout(function () { - throw error; - }, 0); - } - } - - function putLast (queue, value) { - var cell = new MutableCell(queue, value); - switch (queue.size) { - case 0: - queue.head = cell; - break; - case 1: - cell.prev = queue.head; - queue.head.next = cell; - queue.last = cell; - break; - default: - cell.prev = queue.last; - queue.last.next = cell; - queue.last = cell; - } - queue.size++; - return cell; - } - - function takeLast (queue) { - var cell; - switch (queue.size) { - case 0: - return null; - case 1: - cell = queue.head; - queue.head = null; - break; - case 2: - cell = queue.last; - queue.head.next = null; - queue.last = null; - break; - default: - cell = queue.last; - queue.last = cell.prev; - queue.last.next = null; - } - cell.prev = null; - cell.queue = null; - queue.size--; - return cell.value; - } - - function takeHead (queue) { - var cell; - switch (queue.size) { - case 0: - return null; - case 1: - cell = queue.head; - queue.head = null; - break; - case 2: - cell = queue.head; - queue.last.prev = null; - queue.head = queue.last; - queue.last = null; - break; - default: - cell = queue.head; - queue.head = cell.next; - queue.head.prev = null; - } - cell.next = null; - cell.queue = null; - queue.size--; - return cell.value; - } - - function deleteCell (cell) { - if (cell.queue === null) { - return; - } - if (cell.queue.last === cell) { - takeLast(cell.queue); - return; - } - if (cell.queue.head === cell) { - takeHead(cell.queue); - return; - } - if (cell.prev) { - cell.prev.next = cell.next; - } - if (cell.next) { - cell.next.prev = cell.prev; - } - cell.queue.size--; - cell.queue = null; - cell.value = null; - cell.next = null; - cell.prev = null; - } - - function drainVar (util, avar) { - if (avar.draining) { - return; - } - - var ps = avar.puts; - var ts = avar.takes; - var rs = avar.reads; - var p, r, t, value, rsize; - - avar.draining = true; - - while (1) { // eslint-disable-line no-constant-condition - p = null; - r = null; - t = null; - value = avar.value; - rsize = rs.size; - - if (avar.error !== null) { - value = util.left(avar.error); - while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign - runEff(p.cb(value)); - } - while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign - runEff(r(value)); - } - while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign - runEff(t(value)); - } - break; - } - - // Process the next put. We do not immediately invoke the callback - // because we want to preserve ordering. If there are takes/reads - // we want to run those first. - if (value === EMPTY && (p = takeHead(ps))) { - avar.value = value = p.value; - } - - if (value !== EMPTY) { - // We go ahead and queue up the next take for the same reasons as - // above. Invoking the read callbacks can affect the mutable queue. - t = takeHead(ts); - // We only want to process the reads queued up before running these - // callbacks so we guard on rsize. - while (rsize-- && (r = takeHead(rs))) { - runEff(r(util.right(value))); - } - if (t !== null) { - avar.value = EMPTY; - runEff(t(util.right(value))); - } - } - - if (p !== null) { - runEff(p.cb(util.right(void 0))); - } - - // Callbacks could have queued up more items so we need to guard on the - // actual mutable properties. - if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) { - break; - } - } - avar.draining = false; - } - - AVar.EMPTY = EMPTY; - AVar.putLast = putLast; - AVar.takeLast = takeLast; - AVar.takeHead = takeHead; - AVar.deleteCell = deleteCell; - AVar.drainVar = drainVar; - - return AVar; - }(); - - exports.empty = function () { - return new AVar(AVar.EMPTY); - }; - - exports._killVar = function (util, error, avar) { - return function () { - if (avar.error === null) { - avar.error = error; - avar.value = AVar.EMPTY; - AVar.drainVar(util, avar); - } - }; - }; - - exports._putVar = function (util, value, avar, cb) { - return function () { - var cell = AVar.putLast(avar.puts, { cb: cb, value: value }); - AVar.drainVar(util, avar); - return function () { - AVar.deleteCell(cell); - }; - }; - }; - - exports._takeVar = function (util, avar, cb) { - return function () { - var cell = AVar.putLast(avar.takes, cb); - AVar.drainVar(util, avar); - return function () { - AVar.deleteCell(cell); - }; - }; - }; -})(PS["Effect.AVar"] = PS["Effect.AVar"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.AVar"]; - var Data_Either = PS["Data.Either"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Effect = PS["Effect"]; - var Effect_Exception = PS["Effect.Exception"]; - var Prelude = PS["Prelude"]; - var Killed = (function () { - function Killed(value0) { - this.value0 = value0; - }; - Killed.create = function (value0) { - return new Killed(value0); - }; - return Killed; - })(); - var Filled = (function () { - function Filled(value0) { - this.value0 = value0; - }; - Filled.create = function (value0) { - return new Filled(value0); - }; - return Filled; - })(); - var Empty = (function () { - function Empty() { - - }; - Empty.value = new Empty(); - return Empty; - })(); - var ffiUtil = { - left: Data_Either.Left.create, - right: Data_Either.Right.create, - nothing: Data_Maybe.Nothing.value, - just: Data_Maybe.Just.create, - killed: Killed.create, - filled: Filled.create, - empty: Empty.value - }; - var kill = function (err) { - return function (avar) { - return $foreign["_killVar"](ffiUtil, err, avar); - }; - }; - var put = function (value) { - return function (avar) { - return function (cb) { - return $foreign["_putVar"](ffiUtil, value, avar, cb); - }; - }; - }; - var take = function (avar) { - return function (cb) { - return $foreign["_takeVar"](ffiUtil, avar, cb); - }; - }; - exports["Killed"] = Killed; - exports["Filled"] = Filled; - exports["Empty"] = Empty; - exports["take"] = take; - exports["put"] = put; - exports["kill"] = kill; - exports["empty"] = $foreign.empty; -})(PS["Effect.AVar"] = PS["Effect.AVar"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Maybe = PS["Data.Maybe"]; - var Effect = PS["Effect"]; - var Effect_AVar = PS["Effect.AVar"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Prelude = PS["Prelude"]; - var take = function (avar) { - return Effect_Aff.makeAff(function (k) { - return function __do() { - var v = Effect_AVar.take(avar)(k)(); - return Effect_Aff.effectCanceler(v); - }; - }); - }; - var put = function (value) { - return function (avar) { - return Effect_Aff.makeAff(function (k) { - return function __do() { - var v = Effect_AVar.put(value)(avar)(k)(); - return Effect_Aff.effectCanceler(v); - }; - }); - }; - }; - var kill = function (error) { - return function ($11) { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11)); - }; - }; - var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty); - exports["empty"] = empty; - exports["take"] = take; - exports["put"] = put; - exports["kill"] = kill; -})(PS["Effect.Aff.AVar"] = PS["Effect.Aff.AVar"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Coroutine = PS["Control.Coroutine"]; - var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_AVar = PS["Effect.Aff.AVar"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Prelude = PS["Prelude"]; - var Listening = (function () { - function Listening() { - - }; - Listening.value = new Listening(); - return Listening; - })(); - var Done = (function () { - function Done() { - - }; - Done.value = new Done(); - return Done; - })(); - var unEventSource = function (v) { - return v; - }; - var eqSubscribeStatus = new Data_Eq.Eq(function (x) { - return function (y) { - if (x instanceof Listening && y instanceof Listening) { - return true; - }; - if (x instanceof Done && y instanceof Done) { - return true; - }; - return false; - }; - }); - exports["Listening"] = Listening; - exports["Done"] = Done; - exports["unEventSource"] = unEventSource; - exports["eqSubscribeStatus"] = eqSubscribeStatus; -})(PS["Halogen.Query.EventSource"] = PS["Halogen.Query.EventSource"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Category = PS["Control.Category"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Exception = PS["Effect.Exception"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var unFork = Unsafe_Coerce.unsafeCoerce; - exports["unFork"] = unFork; -})(PS["Halogen.Query.ForkF"] = PS["Halogen.Query.ForkF"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Applicative_Free = PS["Control.Applicative.Free"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Free = PS["Control.Monad.Free"]; - var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; - var Control_Parallel_Class = PS["Control.Parallel.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Coyoneda = PS["Data.Coyoneda"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; - var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var Web_DOM = PS["Web.DOM"]; - var HalogenM = function (x) { - return x; - }; - var State = (function () { - function State(value0) { - this.value0 = value0; - }; - State.create = function (value0) { - return new State(value0); - }; - return State; - })(); - var Subscribe = (function () { - function Subscribe(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Subscribe.create = function (value0) { - return function (value1) { - return new Subscribe(value0, value1); - }; - }; - return Subscribe; - })(); - var Lift = (function () { - function Lift(value0) { - this.value0 = value0; - }; - Lift.create = function (value0) { - return new Lift(value0); - }; - return Lift; - })(); - var Halt = (function () { - function Halt(value0) { - this.value0 = value0; - }; - Halt.create = function (value0) { - return new Halt(value0); - }; - return Halt; - })(); - var GetSlots = (function () { - function GetSlots(value0) { - this.value0 = value0; - }; - GetSlots.create = function (value0) { - return new GetSlots(value0); - }; - return GetSlots; - })(); - var CheckSlot = (function () { - function CheckSlot(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - CheckSlot.create = function (value0) { - return function (value1) { - return new CheckSlot(value0, value1); - }; - }; - return CheckSlot; - })(); - var ChildQuery = (function () { - function ChildQuery(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - ChildQuery.create = function (value0) { - return function (value1) { - return new ChildQuery(value0, value1); - }; - }; - return ChildQuery; - })(); - var Raise = (function () { - function Raise(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Raise.create = function (value0) { - return function (value1) { - return new Raise(value0, value1); - }; - }; - return Raise; - })(); - var Par = (function () { - function Par(value0) { - this.value0 = value0; - }; - Par.create = function (value0) { - return new Par(value0); - }; - return Par; - })(); - var Fork = (function () { - function Fork(value0) { - this.value0 = value0; - }; - Fork.create = function (value0) { - return new Fork(value0); - }; - return Fork; - })(); - var GetRef = (function () { - function GetRef(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - GetRef.create = function (value0) { - return function (value1) { - return new GetRef(value0, value1); - }; - }; - return GetRef; - })(); - var raise = function (o) { - return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit))); - }; - var getRef = function (p) { - return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn)))); - }; - var functorHalogenM = new Data_Functor.Functor(function (f) { - return function (v) { - return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v); - }; - }); - var applyHalogenM = new Control_Apply.Apply(function () { - return functorHalogenM; - }, function (v) { - return function (v1) { - return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1); - }; - }); - var bindHalogenM = new Control_Bind.Bind(function () { - return applyHalogenM; - }, function (v) { - return function (f) { - return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) { - var v1 = f(x); - return v1; - }); - }; - }); - var applicativeHalogenM = new Control_Applicative.Applicative(function () { - return applyHalogenM; - }, function (a) { - return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a); - }); - var monadHalogenM = new Control_Monad.Monad(function () { - return applicativeHalogenM; - }, function () { - return bindHalogenM; - }); - var monadEffectHalogenM = function (dictMonadEffect) { - return new Effect_Class.MonadEffect(function () { - return monadHalogenM; - }, function (eff) { - return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff)))); - }); - }; - var monadAffHalogenM = function (dictMonadAff) { - return new Effect_Aff_Class.MonadAff(function () { - return monadEffectHalogenM(dictMonadAff.MonadEffect0()); - }, function (aff) { - return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff)))); - }); - }; - var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () { - return monadHalogenM; - }, function ($180) { - return HalogenM(Control_Monad_Free.liftF(State.create($180))); - }); - exports["State"] = State; - exports["Subscribe"] = Subscribe; - exports["Lift"] = Lift; - exports["Halt"] = Halt; - exports["GetSlots"] = GetSlots; - exports["CheckSlot"] = CheckSlot; - exports["ChildQuery"] = ChildQuery; - exports["Raise"] = Raise; - exports["Par"] = Par; - exports["Fork"] = Fork; - exports["GetRef"] = GetRef; - exports["HalogenM"] = HalogenM; - exports["getRef"] = getRef; - exports["raise"] = raise; - exports["functorHalogenM"] = functorHalogenM; - exports["applyHalogenM"] = applyHalogenM; - exports["applicativeHalogenM"] = applicativeHalogenM; - exports["bindHalogenM"] = bindHalogenM; - exports["monadHalogenM"] = monadHalogenM; - exports["monadEffectHalogenM"] = monadEffectHalogenM; - exports["monadAffHalogenM"] = monadAffHalogenM; - exports["monadStateHalogenM"] = monadStateHalogenM; -})(PS["Halogen.Query.HalogenM"] = PS["Halogen.Query.HalogenM"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Const = PS["Data.Const"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var ComponentSlot = (function () { - function ComponentSlot(value0, value1, value2, value3, value4, value5) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - }; - ComponentSlot.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ComponentSlot(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; - }; - return ComponentSlot; - })(); - var unComponentSlot = function (f) { - return function (cs) { - return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5); - }; - }; - var unComponent = Unsafe_Coerce.unsafeCoerce; - var mkComponentSlot = ComponentSlot.create; - var mkComponent = Unsafe_Coerce.unsafeCoerce; - var parentComponent = function (dictOrd) { - return function (spec) { - return mkComponent({ - initialState: spec.initialState, - render: spec.render, - "eval": spec["eval"], - receiver: spec.receiver, - initializer: Data_Maybe.Nothing.value, - finalizer: Data_Maybe.Nothing.value, - mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd) - }); - }; - }; - var lifecycleComponent = function (dictBifunctor) { - return function (spec) { - return mkComponent({ - initialState: spec.initialState, - render: spec.render, - "eval": spec["eval"], - receiver: spec.receiver, - initializer: spec.initializer, - finalizer: spec.finalizer, - mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid) - }); - }; - }; - var component = function (dictBifunctor) { - return function (spec) { - return lifecycleComponent(dictBifunctor)({ - initialState: spec.initialState, - render: spec.render, - "eval": spec["eval"], - receiver: spec.receiver, - initializer: Data_Maybe.Nothing.value, - finalizer: Data_Maybe.Nothing.value - }); - }; - }; - exports["mkComponent"] = mkComponent; - exports["unComponent"] = unComponent; - exports["component"] = component; - exports["lifecycleComponent"] = lifecycleComponent; - exports["parentComponent"] = parentComponent; - exports["mkComponentSlot"] = mkComponentSlot; - exports["unComponentSlot"] = unComponentSlot; -})(PS["Halogen.Component"] = PS["Halogen.Component"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"]; - var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; - var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"]; - var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"]; - var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"]; - var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"]; - var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"]; - var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_MediaType = PS["Data.MediaType"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_String = PS["Data.String"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_Unit = PS["Data.Unit"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var ref = (function () { - var go = function (p) { - return function (mel) { - return new Data_Maybe.Just(new Halogen_Query_InputF.RefUpdate(p, mel, Data_Unit.unit)); - }; - }; - return function ($10) { - return Halogen_HTML_Core.ref(go($10)); - }; - })(); - var prop = function (dictIsProp) { - return Halogen_HTML_Core.prop(dictIsProp); - }; - var required = prop(Halogen_HTML_Core.booleanIsProp)("required"); - var rows = prop(Halogen_HTML_Core.intIsProp)("rows"); - var target = prop(Halogen_HTML_Core.stringIsProp)("target"); - var title = prop(Halogen_HTML_Core.stringIsProp)("title"); - var type_ = function (dictIsProp) { - return prop(dictIsProp)("type"); - }; - var value = prop(Halogen_HTML_Core.stringIsProp)("value"); - var name = prop(Halogen_HTML_Core.stringIsProp)("name"); - var id_ = prop(Halogen_HTML_Core.stringIsProp)("id"); - var href = prop(Halogen_HTML_Core.stringIsProp)("href"); - var $$for = prop(Halogen_HTML_Core.stringIsProp)("htmlFor"); - var class_ = function ($13) { - return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13)); - }; - var checked = prop(Halogen_HTML_Core.booleanIsProp)("checked"); - var autofocus = prop(Halogen_HTML_Core.booleanIsProp)("autofocus"); - var autocomplete = function ($14) { - return prop(Halogen_HTML_Core.onOffIsProp)("autocomplete")((function (b) { - if (b) { - return DOM_HTML_Indexed_OnOff.On.value; - }; - return DOM_HTML_Indexed_OnOff.Off.value; - })($14)); - }; - var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value); - exports["prop"] = prop; - exports["attr"] = attr; - exports["ref"] = ref; - exports["class_"] = class_; - exports["rows"] = rows; - exports["for"] = $$for; - exports["href"] = href; - exports["id_"] = id_; - exports["name"] = name; - exports["target"] = target; - exports["title"] = title; - exports["type_"] = type_; - exports["value"] = value; - exports["required"] = required; - exports["checked"] = checked; - exports["autocomplete"] = autocomplete; - exports["autofocus"] = autofocus; -})(PS["Halogen.HTML.Properties"] = PS["Halogen.HTML.Properties"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"]; - var Data_Function = PS["Data.Function"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Tuple = PS["Data.Tuple"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Halogen_VDom = PS["Halogen.VDom"]; - var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value); - var form = element("form"); - var input = function (props) { - return element("input")(props)([ ]); - }; - var label = element("label"); - var p = element("p"); - var span = element("span"); - var table = element("table"); - var tbody = element("tbody"); - var tbody_ = tbody([ ]); - var td = element("td"); - var td_ = td([ ]); - var textarea = function (es) { - return element("textarea")(es)([ ]); - }; - var tr = element("tr"); - var tr_ = tr([ ]); - var div = element("div"); - var div_ = div([ ]); - var button = element("button"); - var br = function (props) { - return element("br")(props)([ ]); - }; - var br_ = br([ ]); - var a = element("a"); - exports["element"] = element; - exports["a"] = a; - exports["br"] = br; - exports["br_"] = br_; - exports["button"] = button; - exports["div"] = div; - exports["div_"] = div_; - exports["form"] = form; - exports["input"] = input; - exports["label"] = label; - exports["p"] = p; - exports["span"] = span; - exports["table"] = table; - exports["tbody"] = tbody; - exports["tbody_"] = tbody_; - exports["td"] = td; - exports["td_"] = td_; - exports["textarea"] = textarea; - exports["tr"] = tr; - exports["tr_"] = tr_; -})(PS["Halogen.HTML.Elements"] = PS["Halogen.HTML.Elements"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var slot = function (p) { - return function (component) { - return function (input) { - return function (outputQuery) { - var f = Halogen_Component.unComponent(function (v) { - return v.receiver; - })(component); - return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create)); - }; - }; - }; - }; - exports["slot"] = slot; -})(PS["Halogen.HTML"] = PS["Halogen.HTML"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Category = PS["Control.Category"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_List = PS["Data.List"]; - var Data_List_Lazy = PS["Data.List.Lazy"]; - var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Leaf = (function () { - function Leaf() { - - }; - Leaf.value = new Leaf(); - return Leaf; - })(); - var Two = (function () { - function Two(value0, value1, value2, value3) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - }; - Two.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return new Two(value0, value1, value2, value3); - }; - }; - }; - }; - return Two; - })(); - var Three = (function () { - function Three(value0, value1, value2, value3, value4, value5, value6) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - this.value6 = value6; - }; - Three.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return function (value6) { - return new Three(value0, value1, value2, value3, value4, value5, value6); - }; - }; - }; - }; - }; - }; - }; - return Three; - })(); - var TwoLeft = (function () { - function TwoLeft(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - TwoLeft.create = function (value0) { - return function (value1) { - return function (value2) { - return new TwoLeft(value0, value1, value2); - }; - }; - }; - return TwoLeft; - })(); - var TwoRight = (function () { - function TwoRight(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - TwoRight.create = function (value0) { - return function (value1) { - return function (value2) { - return new TwoRight(value0, value1, value2); - }; - }; - }; - return TwoRight; - })(); - var ThreeLeft = (function () { - function ThreeLeft(value0, value1, value2, value3, value4, value5) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - }; - ThreeLeft.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeLeft(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; - }; - return ThreeLeft; - })(); - var ThreeMiddle = (function () { - function ThreeMiddle(value0, value1, value2, value3, value4, value5) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - }; - ThreeMiddle.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeMiddle(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; - }; - return ThreeMiddle; - })(); - var ThreeRight = (function () { - function ThreeRight(value0, value1, value2, value3, value4, value5) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - }; - ThreeRight.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeRight(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; - }; - return ThreeRight; - })(); - var KickUp = (function () { - function KickUp(value0, value1, value2, value3) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - }; - KickUp.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return new KickUp(value0, value1, value2, value3); - }; - }; - }; - }; - return KickUp; - })(); - var values = function (v) { - if (v instanceof Leaf) { - return Data_List_Types.Nil.value; - }; - if (v instanceof Two) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3))); - }; - if (v instanceof Three) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6))))); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 602, column 1 - line 602, column 40): " + [ v.constructor.name ]); - }; - var lookup = function (dictOrd) { - return function (k) { - var comp = Data_Ord.compare(dictOrd); - var go = function ($copy_v) { - var $tco_done = false; - var $tco_result; - function $tco_loop(v) { - if (v instanceof Leaf) { - $tco_done = true; - return Data_Maybe.Nothing.value; - }; - if (v instanceof Two) { - var v2 = comp(k)(v.value1); - if (v2 instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(v.value2); - }; - if (v2 instanceof Data_Ordering.LT) { - $copy_v = v.value0; - return; - }; - $copy_v = v.value3; - return; - }; - if (v instanceof Three) { - var v3 = comp(k)(v.value1); - if (v3 instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(v.value2); - }; - var v4 = comp(k)(v.value4); - if (v4 instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(v.value5); - }; - if (v3 instanceof Data_Ordering.LT) { - $copy_v = v.value0; - return; - }; - if (v4 instanceof Data_Ordering.GT) { - $copy_v = v.value6; - return; - }; - $copy_v = v.value3; - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 197, column 5 - line 197, column 22): " + [ v.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($copy_v); - }; - return $tco_result; - }; - return go; - }; - }; - var member = function (dictOrd) { - return function (k) { - return function (m) { - return Data_Maybe.isJust(lookup(dictOrd)(k)(m)); - }; - }; - }; - var keys = function (v) { - if (v instanceof Leaf) { - return Data_List_Types.Nil.value; - }; - if (v instanceof Two) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3))); - }; - if (v instanceof Three) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6))))); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 596, column 1 - line 596, column 38): " + [ v.constructor.name ]); - }; - var functorMap = new Data_Functor.Functor(function (v) { - return function (v1) { - if (v1 instanceof Leaf) { - return Leaf.value; - }; - if (v1 instanceof Two) { - return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3)); - }; - if (v1 instanceof Three) { - return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6)); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 93, column 1 - line 93, column 39): " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - var fromZipper = function ($copy_dictOrd) { - return function ($copy_v) { - return function ($copy_tree) { - var $tco_var_dictOrd = $copy_dictOrd; - var $tco_var_v = $copy_v; - var $tco_done = false; - var $tco_result; - function $tco_loop(dictOrd, v, tree) { - if (v instanceof Data_List_Types.Nil) { - $tco_done = true; - return tree; - }; - if (v instanceof Data_List_Types.Cons) { - if (v.value0 instanceof TwoLeft) { - $tco_var_dictOrd = dictOrd; - $tco_var_v = v.value1; - $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2); - return; - }; - if (v.value0 instanceof TwoRight) { - $tco_var_dictOrd = dictOrd; - $tco_var_v = v.value1; - $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree); - return; - }; - if (v.value0 instanceof ThreeLeft) { - $tco_var_dictOrd = dictOrd; - $tco_var_v = v.value1; - $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5); - return; - }; - if (v.value0 instanceof ThreeMiddle) { - $tco_var_dictOrd = dictOrd; - $tco_var_v = v.value1; - $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5); - return; - }; - if (v.value0 instanceof ThreeRight) { - $tco_var_dictOrd = dictOrd; - $tco_var_v = v.value1; - $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree); - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 415, column 3 - line 420, column 88): " + [ v.value0.constructor.name ]); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 412, column 1 - line 412, column 80): " + [ v.constructor.name, tree.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree); - }; - return $tco_result; - }; - }; - }; - var insert = function (dictOrd) { - return function (k) { - return function (v) { - var up = function ($copy_v1) { - return function ($copy_v2) { - var $tco_var_v1 = $copy_v1; - var $tco_done = false; - var $tco_result; - function $tco_loop(v1, v2) { - if (v1 instanceof Data_List_Types.Nil) { - $tco_done = true; - return new Two(v2.value0, v2.value1, v2.value2, v2.value3); - }; - if (v1 instanceof Data_List_Types.Cons) { - if (v1.value0 instanceof TwoLeft) { - $tco_done = true; - return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2)); - }; - if (v1.value0 instanceof TwoRight) { - $tco_done = true; - return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3)); - }; - if (v1.value0 instanceof ThreeLeft) { - $tco_var_v1 = v1.value1; - $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5)); - return; - }; - if (v1.value0 instanceof ThreeMiddle) { - $tco_var_v1 = v1.value1; - $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5)); - return; - }; - if (v1.value0 instanceof ThreeRight) { - $tco_var_v1 = v1.value1; - $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3)); - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 451, column 5 - line 456, column 108): " + [ v1.value0.constructor.name, v2.constructor.name ]); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 448, column 3 - line 448, column 56): " + [ v1.constructor.name, v2.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_v1, $copy_v2); - }; - return $tco_result; - }; - }; - var comp = Data_Ord.compare(dictOrd); - var down = function ($copy_ctx) { - return function ($copy_v1) { - var $tco_var_ctx = $copy_ctx; - var $tco_done = false; - var $tco_result; - function $tco_loop(ctx, v1) { - if (v1 instanceof Leaf) { - $tco_done = true; - return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value)); - }; - if (v1 instanceof Two) { - var v2 = comp(k)(v1.value1); - if (v2 instanceof Data_Ordering.EQ) { - $tco_done = true; - return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3)); - }; - if (v2 instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx); - $copy_v1 = v1.value0; - return; - }; - $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx); - $copy_v1 = v1.value3; - return; - }; - if (v1 instanceof Three) { - var v3 = comp(k)(v1.value1); - if (v3 instanceof Data_Ordering.EQ) { - $tco_done = true; - return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6)); - }; - var v4 = comp(k)(v1.value4); - if (v4 instanceof Data_Ordering.EQ) { - $tco_done = true; - return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6)); - }; - if (v3 instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx); - $copy_v1 = v1.value0; - return; - }; - if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx); - $copy_v1 = v1.value3; - return; - }; - $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx); - $copy_v1 = v1.value6; - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 431, column 3 - line 431, column 55): " + [ ctx.constructor.name, v1.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_ctx, $copy_v1); - }; - return $tco_result; - }; - }; - return down(Data_List_Types.Nil.value); - }; - }; - }; - var pop = function (dictOrd) { - return function (k) { - var up = function ($copy_ctxs) { - return function ($copy_tree) { - var $tco_var_ctxs = $copy_ctxs; - var $tco_done = false; - var $tco_result; - function $tco_loop(ctxs, tree) { - if (ctxs instanceof Data_List_Types.Nil) { - $tco_done = true; - return tree; - }; - if (ctxs instanceof Data_List_Types.Cons) { - if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value)); - }; - if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value)); - }; - if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) { - $tco_var_ctxs = ctxs.value1; - $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); - return; - }; - if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) { - $tco_var_ctxs = ctxs.value1; - $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); - return; - }; - if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6))); - }; - if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree))); - }; - if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value)); - }; - if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value)); - }; - if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value)); - }; - if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); - }; - if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); - }; - if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3))); - }; - if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree))); - }; - if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); - }; - if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); - }; - if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6))); - }; - if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) { - $tco_done = true; - return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree))); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 501, column 9 - line 518, column 136): " + [ ctxs.value0.constructor.name, tree.constructor.name ]); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 498, column 5 - line 518, column 136): " + [ ctxs.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_ctxs, $copy_tree); - }; - return $tco_result; - }; - }; - var removeMaxNode = function ($copy_ctx) { - return function ($copy_m) { - var $tco_var_ctx = $copy_ctx; - var $tco_done = false; - var $tco_result; - function $tco_loop(ctx, m) { - if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) { - $tco_done = true; - return up(ctx)(Leaf.value); - }; - if (m instanceof Two) { - $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx); - $copy_m = m.value3; - return; - }; - if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) { - $tco_done = true; - return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value); - }; - if (m instanceof Three) { - $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx); - $copy_m = m.value6; - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 530, column 5 - line 534, column 107): " + [ m.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_ctx, $copy_m); - }; - return $tco_result; - }; - }; - var maxNode = function ($copy_m) { - var $tco_done = false; - var $tco_result; - function $tco_loop(m) { - if (m instanceof Two && m.value3 instanceof Leaf) { - $tco_done = true; - return { - key: m.value1, - value: m.value2 - }; - }; - if (m instanceof Two) { - $copy_m = m.value3; - return; - }; - if (m instanceof Three && m.value6 instanceof Leaf) { - $tco_done = true; - return { - key: m.value4, - value: m.value5 - }; - }; - if (m instanceof Three) { - $copy_m = m.value6; - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 521, column 33 - line 525, column 45): " + [ m.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($copy_m); - }; - return $tco_result; - }; - var comp = Data_Ord.compare(dictOrd); - var down = function ($copy_ctx) { - return function ($copy_m) { - var $tco_var_ctx = $copy_ctx; - var $tco_done = false; - var $tco_result; - function $tco_loop(ctx, m) { - if (m instanceof Leaf) { - $tco_done = true; - return Data_Maybe.Nothing.value; - }; - if (m instanceof Two) { - var v = comp(k)(m.value1); - if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value))); - }; - if (v instanceof Data_Ordering.EQ) { - var max = maxNode(m.value0); - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0))); - }; - if (v instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx); - $copy_m = m.value0; - return; - }; - $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx); - $copy_m = m.value3; - return; - }; - if (m instanceof Three) { - var leaves = (function () { - if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) { - return true; - }; - return false; - })(); - var v = comp(k)(m.value4); - var v3 = comp(k)(m.value1); - if (leaves && v3 instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value)))); - }; - if (leaves && v instanceof Data_Ordering.EQ) { - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value)))); - }; - if (v3 instanceof Data_Ordering.EQ) { - var max = maxNode(m.value0); - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0))); - }; - if (v instanceof Data_Ordering.EQ) { - var max = maxNode(m.value3); - $tco_done = true; - return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3))); - }; - if (v3 instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx); - $copy_m = m.value0; - return; - }; - if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) { - $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx); - $copy_m = m.value3; - return; - }; - $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx); - $copy_m = m.value6; - return; - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 471, column 34 - line 494, column 80): " + [ m.constructor.name ]); - }; - while (!$tco_done) { - $tco_result = $tco_loop($tco_var_ctx, $copy_m); - }; - return $tco_result; - }; - }; - return down(Data_List_Types.Nil.value); - }; - }; - var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) { - return function (f) { - return function (m) { - return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m)); - }; - }; - }, function (f) { - return function (z) { - return function (m) { - return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m)); - }; - }; - }, function (f) { - return function (z) { - return function (m) { - return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m)); - }; - }; - }); - var empty = Leaf.value; - var $$delete = function (dictOrd) { - return function (k) { - return function (m) { - return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m)); - }; - }; - }; - var alter = function (dictOrd) { - return function (f) { - return function (k) { - return function (m) { - var v = f(lookup(dictOrd)(k)(m)); - if (v instanceof Data_Maybe.Nothing) { - return $$delete(dictOrd)(k)(m); - }; - if (v instanceof Data_Maybe.Just) { - return insert(dictOrd)(k)(v.value0)(m); - }; - throw new Error("Failed pattern match at Data.Map.Internal (line 539, column 15 - line 541, column 25): " + [ v.constructor.name ]); - }; - }; - }; - }; - exports["empty"] = empty; - exports["insert"] = insert; - exports["lookup"] = lookup; - exports["delete"] = $$delete; - exports["pop"] = pop; - exports["member"] = member; - exports["alter"] = alter; - exports["keys"] = keys; - exports["values"] = values; - exports["functorMap"] = functorMap; - exports["foldableMap"] = foldableMap; -})(PS["Data.Map.Internal"] = PS["Data.Map.Internal"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Monad_ST = PS["Control.Monad.ST"]; - var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Array = PS["Data.Array"]; - var Data_Array_ST = PS["Data.Array.ST"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unit = PS["Data.Unit"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var toList = function (v) { - return Data_Map_Internal.keys(v); - }; - var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) { - return function (f) { - return function ($65) { - return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65)); - }; - }; - }, function (f) { - return function (x) { - return function ($66) { - return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66)); - }; - }; - }, function (f) { - return function (x) { - return function ($67) { - return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67)); - }; - }; - }); - exports["foldableSet"] = foldableSet; -})(PS["Data.Set"] = PS["Data.Set"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Set = PS["Data.Set"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var keys = function ($0) { - return Data_Functor["void"](Data_Map_Internal.functorMap)($0); - }; - exports["keys"] = keys; -})(PS["Data.Map"] = PS["Data.Map"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Map = PS["Data.Map"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"]; - var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var getHTMLElementRef = function ($10) { - return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) { - return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v); - })(Halogen_Query_HalogenM.getRef($10)); - }; - var action = function (act) { - return act(Data_Unit.unit); - }; - exports["action"] = action; - exports["getHTMLElementRef"] = getHTMLElementRef; -})(PS["Halogen.Query"] = PS["Halogen.Query"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Web_Event_Event = PS["Web.Event.Event"]; - var change = "change"; - exports["change"] = change; -})(PS["Web.HTML.Event.EventTypes"] = PS["Web.HTML.Event.EventTypes"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Web_Event_Event = PS["Web.Event.Event"]; - var click = "click"; - exports["click"] = click; -})(PS["Web.UIEvent.MouseEvent.EventTypes"] = PS["Web.UIEvent.MouseEvent.EventTypes"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Identity = PS["Data.Identity"]; - var Data_Maybe = PS["Data.Maybe"]; - var Foreign = PS["Foreign"]; - var Foreign_Index = PS["Foreign.Index"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query = PS["Halogen.Query"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_Clipboard_ClipboardEvent = PS["Web.Clipboard.ClipboardEvent"]; - var Web_Clipboard_ClipboardEvent_EventTypes = PS["Web.Clipboard.ClipboardEvent.EventTypes"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_HTML_Event_DragEvent = PS["Web.HTML.Event.DragEvent"]; - var Web_HTML_Event_DragEvent_EventTypes = PS["Web.HTML.Event.DragEvent.EventTypes"]; - var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"]; - var Web_TouchEvent_TouchEvent = PS["Web.TouchEvent.TouchEvent"]; - var Web_UIEvent_FocusEvent = PS["Web.UIEvent.FocusEvent"]; - var Web_UIEvent_FocusEvent_EventTypes = PS["Web.UIEvent.FocusEvent.EventTypes"]; - var Web_UIEvent_KeyboardEvent = PS["Web.UIEvent.KeyboardEvent"]; - var Web_UIEvent_KeyboardEvent_EventTypes = PS["Web.UIEvent.KeyboardEvent.EventTypes"]; - var Web_UIEvent_MouseEvent = PS["Web.UIEvent.MouseEvent"]; - var Web_UIEvent_MouseEvent_EventTypes = PS["Web.UIEvent.MouseEvent.EventTypes"]; - var Web_UIEvent_WheelEvent = PS["Web.UIEvent.WheelEvent"]; - var Web_UIEvent_WheelEvent_EventTypes = PS["Web.UIEvent.WheelEvent.EventTypes"]; - var mouseHandler = Unsafe_Coerce.unsafeCoerce; - var input_ = function (f) { - return function (v) { - return Data_Maybe.Just.create(Halogen_Query.action(f)); - }; - }; - var input = function (f) { - return function (x) { - return Data_Maybe.Just.create(Halogen_Query.action(f(x))); - }; - }; - var handler = function (et) { - return function ($1) { - return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1)); - }; - }; - var onClick = function ($2) { - return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2)); - }; - var onSubmit = handler("submit"); - var addForeignPropHandler = function (key) { - return function (prop) { - return function (reader) { - return function (f) { - var go = function (a) { - return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a)); - }; - return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) { - return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e))); - })); - }; - }; - }; - }; - var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("checked")(Foreign.readBoolean); - var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("value")(Foreign.readString); - exports["input"] = input; - exports["input_"] = input_; - exports["handler"] = handler; - exports["onSubmit"] = onSubmit; - exports["onClick"] = onClick; - exports["onValueChange"] = onValueChange; - exports["onChecked"] = onChecked; -})(PS["Halogen.HTML.Events"] = PS["Halogen.HTML.Events"] || {}); -(function(exports) { - "use strict"; - /* global Symbol */ - - var hasArrayFrom = typeof Array.from === "function"; - var hasStringIterator = - typeof Symbol !== "undefined" && - Symbol != null && - typeof Symbol.iterator !== "undefined" && - typeof String.prototype[Symbol.iterator] === "function"; - var hasFromCodePoint = typeof String.prototype.fromCodePoint === "function"; - var hasCodePointAt = typeof String.prototype.codePointAt === "function"; - - exports._unsafeCodePointAt0 = function (fallback) { - return hasCodePointAt - ? function (str) { return str.codePointAt(0); } - : fallback; - }; - - exports._singleton = function (fallback) { - return hasFromCodePoint ? String.fromCodePoint : fallback; - }; - - exports._take = function (fallback) { - return function (n) { - if (hasStringIterator) { - return function (str) { - var accum = ""; - var iter = str[Symbol.iterator](); - for (var i = 0; i < n; ++i) { - var o = iter.next(); - if (o.done) return accum; - accum += o.value; - } - return accum; - }; - } - return fallback(n); - }; - }; - - exports._toCodePointArray = function (fallback) { - return function (unsafeCodePointAt0) { - if (hasArrayFrom) { - return function (str) { - return Array.from(str, unsafeCodePointAt0); - }; - } - return fallback; - }; - }; -})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Data.String.CodePoints"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Array = PS["Data.Array"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Enum = PS["Data.Enum"]; - var Data_Eq = PS["Data.Eq"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Int = PS["Data.Int"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_String_CodeUnits = PS["Data.String.CodeUnits"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_String_Unsafe = PS["Data.String.Unsafe"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Prelude = PS["Prelude"]; - var unsurrogate = function (lead) { - return function (trail) { - return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0; - }; - }; - var isTrail = function (cu) { - return 56320 <= cu && cu <= 57343; - }; - var isLead = function (cu) { - return 55296 <= cu && cu <= 56319; - }; - var uncons = function (s) { - var v = Data_String_CodeUnits.length(s); - if (v === 0) { - return Data_Maybe.Nothing.value; - }; - if (v === 1) { - return new Data_Maybe.Just({ - head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)), - tail: "" - }); - }; - var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s)); - var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)); - var $21 = isLead(cu0) && isTrail(cu1); - if ($21) { - return new Data_Maybe.Just({ - head: unsurrogate(cu0)(cu1), - tail: Data_String_CodeUnits.drop(2)(s) - }); - }; - return new Data_Maybe.Just({ - head: cu0, - tail: Data_String_CodeUnits.drop(1)(s) - }); - }; - var unconsButWithTuple = function (s) { - return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { - return new Data_Tuple.Tuple(v.head, v.tail); - })(uncons(s)); - }; - var toCodePointArrayFallback = function (s) { - return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s); - }; - var unsafeCodePointAt0Fallback = function (s) { - var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)); - var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1; - if ($25) { - var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s)); - var $26 = isTrail(cu1); - if ($26) { - return unsurrogate(cu0)(cu1); - }; - return cu0; - }; - return cu0; - }; - var unsafeCodePointAt0 = $foreign["_unsafeCodePointAt0"](unsafeCodePointAt0Fallback); - var toCodePointArray = $foreign["_toCodePointArray"](toCodePointArrayFallback)(unsafeCodePointAt0); - var length = function ($52) { - return Data_Array.length(toCodePointArray($52)); - }; - var fromCharCode = function ($53) { - return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53)); - }; - var singletonFallback = function (v) { - if (v <= 65535) { - return fromCharCode(v); - }; - var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0; - var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0; - return fromCharCode(lead) + fromCharCode(trail); - }; - var singleton = $foreign["_singleton"](singletonFallback); - var takeFallback = function (n) { - return function (v) { - if (n < 1) { - return ""; - }; - var v1 = uncons(v); - if (v1 instanceof Data_Maybe.Just) { - return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail); - }; - return v; - }; - }; - var take = $foreign["_take"](takeFallback); - var drop = function (n) { - return function (s) { - return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s); - }; - }; - exports["singleton"] = singleton; - exports["toCodePointArray"] = toCodePointArray; - exports["uncons"] = uncons; - exports["length"] = length; - exports["take"] = take; - exports["drop"] = drop; -})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Array = PS["Data.Array"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_String = PS["Data.String"]; - var Data_String_CodePoints = PS["Data.String.CodePoints"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Global_Unsafe = PS["Global.Unsafe"]; - var Halogen = PS["Halogen"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Prelude = PS["Prelude"]; - var Web_DOM = PS["Web.DOM"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_NodeList = PS["Web.DOM.NodeList"]; - var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_HTML = PS["Web.HTML"]; - var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Web_HTML_Window = PS["Web.HTML.Window"]; - var fromNullableStr = function ($57) { - return Data_Maybe.fromMaybe("")(Data_Nullable.toMaybe($57)); - }; - var class_ = function ($58) { - return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58)); - }; - var attr = function (a) { - return Halogen_HTML_Properties.attr(a); - }; - var _parseQueryString = function (srh) { - var decode = function ($59) { - return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll("+")(" ")($59)); - }; - var go = function (kv) { - var v = Data_String_Common.split("=")(kv); - if (v.length === 1) { - return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value)); - }; - if (v.length === 2) { - return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1])))); - }; - return Data_Maybe.Nothing.value; - }; - var qs = (function () { - var srh$prime = Data_String_CodePoints.take(1)(srh); - var $54 = srh$prime === "#" || srh$prime === "?"; - if ($54) { - return Data_String_CodePoints.drop(1)(srh); - }; - return srh; - })(); - return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) { - return v !== ""; - })(Data_String_Common.split("&")(qs))); - }; - var _lookupQueryStringValue = function (qs) { - return function (k) { - return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) { - return (function (v) { - return v === k; - })(Data_Tuple.fst($61)); - })(qs))); - }; - }; - var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window); - var _curQuerystring = function __do() { - var v = _loc(); - var v1 = Web_HTML_Location.search(v)(); - return _parseQueryString(v1); - }; - exports["class_"] = class_; - exports["attr"] = attr; - exports["_loc"] = _loc; - exports["_curQuerystring"] = _curQuerystring; - exports["_parseQueryString"] = _parseQueryString; - exports["_lookupQueryStringValue"] = _lookupQueryStringValue; - exports["fromNullableStr"] = fromNullableStr; -})(PS["Util"] = PS["Util"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var App = PS["App"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Lens = PS["Data.Lens"]; - var Data_Lens_Getter = PS["Data.Lens.Getter"]; - var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; - var Data_Lens_Lens = PS["Data.Lens.Lens"]; - var Data_Lens_Setter = PS["Data.Lens.Setter"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Util = PS["Util"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var EarchiveDefault = (function () { - function EarchiveDefault(value0) { - this.value0 = value0; - }; - EarchiveDefault.create = function (value0) { - return new EarchiveDefault(value0); - }; - return EarchiveDefault; - })(); - var EprivateDefault = (function () { - function EprivateDefault(value0) { - this.value0 = value0; - }; - EprivateDefault.create = function (value0) { - return new EprivateDefault(value0); - }; - return EprivateDefault; - })(); - var EprivacyLock = (function () { - function EprivacyLock(value0) { - this.value0 = value0; - }; - EprivacyLock.create = function (value0) { - return new EprivacyLock(value0); - }; - return EprivacyLock; - })(); - var UEditField = (function () { - function UEditField(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - UEditField.create = function (value0) { - return function (value1) { - return new UEditField(value0, value1); - }; - }; - return UEditField; - })(); - var USubmit = (function () { - function USubmit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - USubmit.create = function (value0) { - return function (value1) { - return new USubmit(value0, value1); - }; - }; - return USubmit; - })(); - var _us = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.us; - })(function (v) { - return function (v1) { - return { - us: v1 - }; - }; - })(dictStrong); - }; - var usetting = function (u$prime) { - var render = function (v) { - var editField = function (f) { - return function ($22) { - return Halogen_HTML_Events.input(UEditField.create)(f($22)); - }; - }; - 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)") ]) ]) ]); - }; - var mkState = function (u) { - return { - us: u - }; - }; - var $$eval = function (v) { - if (v instanceof UEditField) { - 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 () { - if (v.value0 instanceof EarchiveDefault) { - return function (v1) { - return { - archiveDefault: v.value0.value0, - privateDefault: v1.privateDefault, - privacyLock: v1.privacyLock - }; - }; - }; - if (v.value0 instanceof EprivateDefault) { - return function (v1) { - return { - archiveDefault: v1.archiveDefault, - privateDefault: v.value0.value0, - privacyLock: v1.privacyLock - }; - }; - }; - if (v.value0 instanceof EprivacyLock) { - return function (v1) { - return { - archiveDefault: v1.archiveDefault, - privateDefault: v1.privateDefault, - privacyLock: v.value0.value0 - }; - }; - }; - throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): " + [ v.value0.constructor.name ]); - })()))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof USubmit) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1))))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }; - throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): " + [ v.constructor.name ]); - }; - var app = Globals["app'"](Data_Unit.unit); - return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({ - initialState: Data_Function["const"](mkState(u$prime)), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["_us"] = _us; - exports["UEditField"] = UEditField; - exports["USubmit"] = USubmit; - exports["EarchiveDefault"] = EarchiveDefault; - exports["EprivateDefault"] = EprivateDefault; - exports["EprivacyLock"] = EprivacyLock; - exports["usetting"] = usetting; -})(PS["Component.AccountSettings"] = PS["Component.AccountSettings"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var App = PS["App"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var Data_Array = PS["Data.Array"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Lens = PS["Data.Lens"]; - var Data_Lens_Getter = PS["Data.Lens.Getter"]; - var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; - var Data_Lens_Lens = PS["Data.Lens.Lens"]; - var Data_Lens_Setter = PS["Data.Lens.Setter"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_String = PS["Data.String"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Util = PS["Util"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_HTML = PS["Web.HTML"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Eurl = (function () { - function Eurl(value0) { - this.value0 = value0; - }; - Eurl.create = function (value0) { - return new Eurl(value0); - }; - return Eurl; - })(); - var Etitle = (function () { - function Etitle(value0) { - this.value0 = value0; - }; - Etitle.create = function (value0) { - return new Etitle(value0); - }; - return Etitle; - })(); - var Edescription = (function () { - function Edescription(value0) { - this.value0 = value0; - }; - Edescription.create = function (value0) { - return new Edescription(value0); - }; - return Edescription; - })(); - var Etags = (function () { - function Etags(value0) { - this.value0 = value0; - }; - Etags.create = function (value0) { - return new Etags(value0); - }; - return Etags; - })(); - var Eprivate = (function () { - function Eprivate(value0) { - this.value0 = value0; - }; - Eprivate.create = function (value0) { - return new Eprivate(value0); - }; - return Eprivate; - })(); - var Etoread = (function () { - function Etoread(value0) { - this.value0 = value0; - }; - Etoread.create = function (value0) { - return new Etoread(value0); - }; - return Etoread; - })(); - var BEditField = (function () { - function BEditField(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BEditField.create = function (value0) { - return function (value1) { - return new BEditField(value0, value1); - }; - }; - return BEditField; - })(); - var BEditSubmit = (function () { - function BEditSubmit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BEditSubmit.create = function (value0) { - return function (value1) { - return new BEditSubmit(value0, value1); - }; - }; - return BEditSubmit; - })(); - var BDeleteAsk = (function () { - function BDeleteAsk(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BDeleteAsk.create = function (value0) { - return function (value1) { - return new BDeleteAsk(value0, value1); - }; - }; - return BDeleteAsk; - })(); - var BDestroy = (function () { - function BDestroy(value0) { - this.value0 = value0; - }; - BDestroy.create = function (value0) { - return new BDestroy(value0); - }; - return BDestroy; - })(); - var _edit_bm = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.edit_bm; - })(function (v) { - return function (v1) { - return { - edit_bm: v1, - bm: v.bm, - deleteAsk: v.deleteAsk, - destroyed: v.destroyed - }; - }; - })(dictStrong); - }; - var _bm = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.bm; - })(function (v) { - return function (v1) { - return { - bm: v1, - deleteAsk: v.deleteAsk, - destroyed: v.destroyed, - edit_bm: v.edit_bm - }; - }; - })(dictStrong); - }; - var addbmark = function (b$prime) { - var render = function (v) { - var toTextarea = function ($58) { - return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) { - return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ]; - })(Data_String_Common.split("\x0a")($58))); - }; - var mmoment = Globals.mmoment8601(v.bm.time); - var editField = function (f) { - return function ($59) { - return Halogen_HTML_Events.input(BEditField.create)(f($59)); - }; - }; - var display_exists = Halogen_HTML_Elements.div([ Util.class_("alert") ])([ Halogen_HTML_Core.text("previously saved\xa0"), Halogen_HTML_Elements.span([ Util.class_("link f7 dib gray pr3"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_("edit_links dib ml1") ])([ Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm red") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ]); - var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_("w-100") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_("w1") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("url") ])([ Halogen_HTML_Core.text("URL") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_("url"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Halogen_HTML_Properties.autofocus(Data_String_Common["null"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("title") ])([ Halogen_HTML_Core.text("title") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("title"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("description") ])([ Halogen_HTML_Core.text("description") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_("w-100 mt1 mid-gray"), Halogen_HTML_Properties.id_("description"), Halogen_HTML_Properties.name("description"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("tags") ])([ Halogen_HTML_Core.text("tags") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("tags"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.name("tags"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.autofocus(!Data_String_Common["null"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("private") ])([ Halogen_HTML_Core.text("private") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("private"), Util.class_("private pointer"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("toread") ])([ Halogen_HTML_Core.text("read later") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("toread"), Util.class_("toread pointer"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"), Halogen_HTML_Properties.value((function () { - var $26 = v.bm.bid > 0; - if ($26) { - return "update bookmark"; - }; - return "add bookmark"; - })()) ]) ]) ]) ]) ]) ]); - var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("red") ])([ Halogen_HTML_Core.text("you killed this bookmark") ]); - return Halogen_HTML_Elements.div_([ (function () { - var $27 = !v.destroyed; - if ($27) { - return display_edit; - }; - return display_destroyed; - })() ]); - }; - var mkState = function (b) { - return { - bm: b, - edit_bm: b, - deleteAsk: false, - destroyed: false - }; - }; - var $$eval = function (v) { - if (v instanceof BDeleteAsk) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) { - var $31 = {}; - for (var $32 in v1) { - if ({}.hasOwnProperty.call(v1, $32)) { - $31[$32] = v1[$32]; - }; - }; - $31.deleteAsk = v.value0; - return $31; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof BDestroy) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) { - return v1.bm.bid; - }))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) { - var $37 = {}; - for (var $38 in v2) { - if ({}.hasOwnProperty.call(v2, $38)) { - $37[$38] = v2[$38]; - }; - }; - $37.destroyed = true; - return $37; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }); - }); - }); - }; - if (v instanceof BEditField) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () { - if (v.value0 instanceof Eurl) { - return function (v1) { - return { - url: v.value0.value0, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etitle) { - return function (v1) { - return { - url: v1.url, - title: v.value0.value0, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Edescription) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v.value0.value0, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etags) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v.value0.value0, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Eprivate) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v.value0.value0, - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etoread) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v.value0.value0, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): " + [ v.value0.constructor.name ]); - })()))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof BEditSubmit) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () { - 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 () { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util["_loc"]))(function (v2) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util["_curQuerystring"]))(function (v4) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () { - var v5 = Util["_lookupQueryStringValue"](v4)("next"); - if (v5 instanceof Data_Maybe.Just) { - return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2)); - }; - return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3)); - })())(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }); - }); - }); - }); - }); - }); - }; - throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): " + [ v.constructor.name ]); - }; - var app = Globals["app'"](Data_Unit.unit); - return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({ - initialState: Data_Function["const"](mkState(b$prime)), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["BEditField"] = BEditField; - exports["BEditSubmit"] = BEditSubmit; - exports["BDeleteAsk"] = BDeleteAsk; - exports["BDestroy"] = BDestroy; - exports["Eurl"] = Eurl; - exports["Etitle"] = Etitle; - exports["Edescription"] = Edescription; - exports["Etags"] = Etags; - exports["Eprivate"] = Eprivate; - exports["Etoread"] = Etoread; - exports["_bm"] = _bm; - exports["_edit_bm"] = _edit_bm; - exports["addbmark"] = addbmark; -})(PS["Component.Add"] = PS["Component.Add"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var App = PS["App"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var Data_Array = PS["Data.Array"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Lens = PS["Data.Lens"]; - var Data_Lens_Getter = PS["Data.Lens.Getter"]; - var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; - var Data_Lens_Lens = PS["Data.Lens.Lens"]; - var Data_Lens_Setter = PS["Data.Lens.Setter"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String = PS["Data.String"]; - var Data_String_CodePoints = PS["Data.String.CodePoints"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Util = PS["Util"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Eurl = (function () { - function Eurl(value0) { - this.value0 = value0; - }; - Eurl.create = function (value0) { - return new Eurl(value0); - }; - return Eurl; - })(); - var Etitle = (function () { - function Etitle(value0) { - this.value0 = value0; - }; - Etitle.create = function (value0) { - return new Etitle(value0); - }; - return Etitle; - })(); - var Edescription = (function () { - function Edescription(value0) { - this.value0 = value0; - }; - Edescription.create = function (value0) { - return new Edescription(value0); - }; - return Edescription; - })(); - var Etags = (function () { - function Etags(value0) { - this.value0 = value0; - }; - Etags.create = function (value0) { - return new Etags(value0); - }; - return Etags; - })(); - var Eprivate = (function () { - function Eprivate(value0) { - this.value0 = value0; - }; - Eprivate.create = function (value0) { - return new Eprivate(value0); - }; - return Eprivate; - })(); - var Etoread = (function () { - function Etoread(value0) { - this.value0 = value0; - }; - Etoread.create = function (value0) { - return new Etoread(value0); - }; - return Etoread; - })(); - var BStar = (function () { - function BStar(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BStar.create = function (value0) { - return function (value1) { - return new BStar(value0, value1); - }; - }; - return BStar; - })(); - var BDeleteAsk = (function () { - function BDeleteAsk(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BDeleteAsk.create = function (value0) { - return function (value1) { - return new BDeleteAsk(value0, value1); - }; - }; - return BDeleteAsk; - })(); - var BDestroy = (function () { - function BDestroy(value0) { - this.value0 = value0; - }; - BDestroy.create = function (value0) { - return new BDestroy(value0); - }; - return BDestroy; - })(); - var BEdit = (function () { - function BEdit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BEdit.create = function (value0) { - return function (value1) { - return new BEdit(value0, value1); - }; - }; - return BEdit; - })(); - var BEditField = (function () { - function BEditField(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BEditField.create = function (value0) { - return function (value1) { - return new BEditField(value0, value1); - }; - }; - return BEditField; - })(); - var BEditSubmit = (function () { - function BEditSubmit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - BEditSubmit.create = function (value0) { - return function (value1) { - return new BEditSubmit(value0, value1); - }; - }; - return BEditSubmit; - })(); - var BMarkRead = (function () { - function BMarkRead(value0) { - this.value0 = value0; - }; - BMarkRead.create = function (value0) { - return new BMarkRead(value0); - }; - return BMarkRead; - })(); - var BNotifyRemove = (function () { - function BNotifyRemove() { - - }; - BNotifyRemove.value = new BNotifyRemove(); - return BNotifyRemove; - })(); - var _edit_bm = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.edit_bm; - })(function (v) { - return function (v1) { - return { - edit_bm: v1, - bm: v.bm, - deleteAsk: v.deleteAsk, - edit: v.edit - }; - }; - })(dictStrong); - }; - var _edit = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.edit; - })(function (v) { - return function (v1) { - return { - edit: v1, - bm: v.bm, - deleteAsk: v.deleteAsk, - edit_bm: v.edit_bm - }; - }; - })(dictStrong); - }; - var _bm = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.bm; - })(function (v) { - return function (v1) { - return { - bm: v1, - deleteAsk: v.deleteAsk, - edit: v.edit, - edit_bm: v.edit_bm - }; - }; - })(dictStrong); - }; - var bmark = function (b$prime) { - var mkState = function (b) { - return { - bm: b, - edit_bm: b, - deleteAsk: false, - edit: false - }; - }; - var $$eval = function (v) { - if (v instanceof BStar) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () { - if (v.value0) { - return App.Star.value; - }; - return App.UnStar.value; - })())))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) { - return { - url: v2.url, - title: v2.title, - description: v2.description, - tags: v2.tags, - "private": v2["private"], - toread: v2.toread, - bid: v2.bid, - slug: v2.slug, - selected: v.value0, - time: v2.time, - archiveUrl: v2.archiveUrl - }; - }))(function () { - 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) { - return { - url: v2.url, - title: v2.title, - description: v2.description, - tags: v2.tags, - "private": v2["private"], - toread: v2.toread, - bid: v2.bid, - slug: v2.slug, - selected: v.value0, - time: v2.time, - archiveUrl: v2.archiveUrl - }; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }); - }); - }; - if (v instanceof BDeleteAsk) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) { - var $34 = {}; - for (var $35 in v1) { - if ({}.hasOwnProperty.call(v1, $35)) { - $34[$35] = v1[$35]; - }; - }; - $34.deleteAsk = v.value0; - return $34; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof BDestroy) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }); - }); - }); - }; - if (v instanceof BMarkRead) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () { - 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) { - return { - url: v2.url, - title: v2.title, - description: v2.description, - tags: v2.tags, - "private": v2["private"], - toread: false, - bid: v2.bid, - slug: v2.slug, - selected: v2.selected, - time: v2.time, - archiveUrl: v2.archiveUrl - }; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }); - }); - }); - }; - if (v instanceof BEdit) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - 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 () { - 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 () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }); - }; - if (v instanceof BEditField) { - 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 () { - if (v.value0 instanceof Eurl) { - return function (v1) { - return { - url: v.value0.value0, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etitle) { - return function (v1) { - return { - url: v1.url, - title: v.value0.value0, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Edescription) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v.value0.value0, - tags: v1.tags, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etags) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v.value0.value0, - "private": v1["private"], - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Eprivate) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v.value0.value0, - toread: v1.toread, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - if (v.value0 instanceof Etoread) { - return function (v1) { - return { - url: v1.url, - title: v1.title, - description: v1.description, - tags: v1.tags, - "private": v1["private"], - toread: v.value0.value0, - bid: v1.bid, - slug: v1.slug, - selected: v1.selected, - time: v1.time, - archiveUrl: v1.archiveUrl - }; - }; - }; - throw new Error("Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): " + [ v.value0.constructor.name ]); - })()))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof BEditSubmit) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () { - 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 () { - 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 () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }); - }); - }); - }; - throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): " + [ v.constructor.name ]); - }; - var app = Globals["app'"](Data_Unit.unit); - var render = function (v) { - var toTextarea = function (input) { - return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) { - return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ]; - })(Data_String_Common.split("\x0a")(input))); - }; - var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("star fl pointer" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(" selected")) ])([ Halogen_HTML_Elements.button([ Util.class_("moon-gray"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text("\u272d") ]) ]) ]); - var mmoment = Globals.mmoment8601(v.bm.time); - var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("edit_links di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_("edit light-silver hover-blue") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete light-silver hover-blue" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(" dn")) ])([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span([ Util.class_("confirm red" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(" dn")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_("read di") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text("\xa0\xa0"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_("mark_read") ])([ Halogen_HTML_Core.text("mark as read") ]) ])) ]); - var linkToFilterTag = function (tag) { - return Util.fromNullableStr(app.userR) + ("/t:" + tag); - }; - var linkToFilterSingle = function (slug) { - return Util.fromNullableStr(app.userR) + ("/b:" + slug); - }; - var editField = function (f) { - return function ($64) { - return Halogen_HTML_Events.input(BEditField.create)(f($64)); - }; - }; - 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))) ]) ]) ]) ]; - var display = [ Halogen_HTML_Elements.div([ Util.class_("display") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target("_blank"), Util.class_("link f5 lh-title" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(" unread")) ])([ Halogen_HTML_Core.text((function () { - var $59 = Data_String_Common["null"](v.bm.title); - if ($59) { - return "[no title]"; - }; - return v.bm.title; - })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_("link f7 gray hover-blue") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.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 () { - var $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)); - if ($60) { - return Halogen_HTML_Core.text("\u2611"); - }; - return Halogen_HTML_Core.text("\u2610"); - })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_("tags") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common["null"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) { - return Halogen_HTML_Elements.a([ Util.class_("link tag mr1" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === ".")(" private")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]); - })(Data_String_Common.split(" ")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ]; - return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_("bookmark w-100 mw7 pa1 mb3" + Data_Monoid.guard(Data_Monoid.monoidString)(v["bm"]["private"])(" private")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () { - if (v.edit) { - return display_edit; - }; - return display; - })())); - }; - return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({ - initialState: Data_Function["const"](mkState(b$prime)), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["BStar"] = BStar; - exports["BDeleteAsk"] = BDeleteAsk; - exports["BDestroy"] = BDestroy; - exports["BEdit"] = BEdit; - exports["BEditField"] = BEditField; - exports["BEditSubmit"] = BEditSubmit; - exports["BMarkRead"] = BMarkRead; - exports["Eurl"] = Eurl; - exports["Etitle"] = Etitle; - exports["Edescription"] = Edescription; - exports["Etags"] = Etags; - exports["Eprivate"] = Eprivate; - exports["Etoread"] = Etoread; - exports["BNotifyRemove"] = BNotifyRemove; - exports["_bm"] = _bm; - exports["_edit_bm"] = _edit_bm; - exports["_edit"] = _edit; - exports["bmark"] = bmark; -})(PS["Component.BMark"] = PS["Component.BMark"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Component_BMark = PS["Component.BMark"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Data_Array = PS["Data.Array"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var HandleBMessage = (function () { - function HandleBMessage(value0, value1, value2) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - }; - HandleBMessage.create = function (value0) { - return function (value1) { - return function (value2) { - return new HandleBMessage(value0, value1, value2); - }; - }; - }; - return HandleBMessage; - })(); - var blist = function (st) { - var render = function (bms) { - var renderBookmark = function (b) { - return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid))); - }; - return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms)); - }; - var $$eval = function (v) { - var removeBookmark = function (bookmarkId) { - return Data_Array.filter(function (b) { - return b.bid !== bookmarkId; - }); - }; - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2); - }); - }; - return Halogen_Component.parentComponent(Data_Ord.ordInt)({ - initialState: Data_Function["const"](st), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["HandleBMessage"] = HandleBMessage; - exports["blist"] = blist; -})(PS["Component.BList"] = PS["Component.BList"] || {}); -(function(exports) {// use at your own risk! - exports.unsafeSetInnerHTML = function(element) { - return function(html) { - return function() { - element.innerHTML = html; - }; - }; - }; -})(PS["Component.RawHtml"] = PS["Component.RawHtml"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Component.RawHtml"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Maybe = PS["Data.Maybe"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query = PS["Halogen.Query"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var Web_HTML = PS["Web.HTML"]; - var SetInnerHTML = (function () { - function SetInnerHTML(value0) { - this.value0 = value0; - }; - SetInnerHTML.create = function (value0) { - return new SetInnerHTML(value0); - }; - return SetInnerHTML; - })(); - var Receive = (function () { - function Receive(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - Receive.create = function (value0) { - return function (value1) { - return new Receive(value0, value1); - }; - }; - return Receive; - })(); - var mkComponent = function (toRawHTML) { - var render = function (state) { - return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]); - }; - var $$eval = function (v) { - if (v instanceof SetInnerHTML) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) { - return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval))); - }); - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }); - }); - }); - }; - if (v instanceof Receive) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) { - var $12 = {}; - for (var $13 in v1) { - if ({}.hasOwnProperty.call(v1, $13)) { - $12[$13] = v1[$13]; - }; - }; - $12.inputval = v.value0; - return $12; - }))(function () { - return $$eval(new SetInnerHTML(v.value1)); - }); - }; - throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): " + [ v.constructor.name ]); - }; - return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({ - initialState: function (inputval) { - return { - elRef: "inputval", - inputval: inputval - }; - }, - render: render, - "eval": $$eval, - receiver: Halogen_HTML_Events.input(Receive.create), - initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)), - finalizer: Data_Maybe.Nothing.value - }); - }; - exports["SetInnerHTML"] = SetInnerHTML; - exports["Receive"] = Receive; - exports["mkComponent"] = mkComponent; -})(PS["Component.RawHtml"] = PS["Component.RawHtml"] || {}); -(function(exports) {exports.markedImpl = function(str) { - marked.setOptions({ - pedantic: false, - gfm: true - }); - return marked(str); - }; -})(PS["Foreign.Marked"] = PS["Foreign.Marked"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Foreign.Marked"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Globals = PS["Globals"]; - var Prelude = PS["Prelude"]; - var marked = function ($0) { - return Globals.RawHTML($foreign.markedImpl($0)); - }; - exports["marked"] = marked; -})(PS["Foreign.Marked"] = PS["Foreign.Marked"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Component_RawHtml = PS["Component.RawHtml"]; - var Effect_Aff = PS["Effect.Aff"]; - var Foreign_Marked = PS["Foreign.Marked"]; - var Halogen = PS["Halogen"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var component = Component_RawHtml.mkComponent(Foreign_Marked.marked); - exports["component"] = component; -})(PS["Component.Markdown"] = PS["Component.Markdown"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Array = PS["Data.Array"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String = PS["Data.String"]; - var Data_String_CodePoints = PS["Data.String.CodePoints"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect_Aff = PS["Effect.Aff"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Util = PS["Util"]; - var nlist = function (st$prime) { - var toTextarea = function (input) { - return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) { - return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ]; - })(Data_String_Common.split("\x0a")(input))); - }; - var mmoment = function (bm) { - return Globals.mmoment8601(bm.created); - }; - var mkState = function (notes$prime) { - return { - notes: notes$prime, - cur: Data_Maybe.Nothing.value, - deleteAsk: false, - edit: false - }; - }; - var $$eval = function (v) { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }; - var app = Globals["app'"](Data_Unit.unit); - var linkToFilterSingle = function (slug) { - return Util.fromNullableStr(app.userR) + ("/notes/" + slug); - }; - var render = function (v) { - var renderNote = function (bm) { - return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_("note w-100 mw7 pa1 mb2") ])([ Halogen_HTML_Elements.div([ Util.class_("display") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_("link f5 lh-title") ])([ Halogen_HTML_Core.text((function () { - var $5 = Data_String_Common["null"](bm.title); - if ($5) { - return "[no title]"; - }; - return bm.title; - })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]); - }; - return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes)); - }; - return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({ - initialState: Data_Function["const"](mkState(st$prime)), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["nlist"] = nlist; -})(PS["Component.NList"] = PS["Component.NList"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var App = PS["App"]; - var Component_Markdown = PS["Component.Markdown"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; - var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; - var Data_Array = PS["Data.Array"]; - var Data_Either = PS["Data.Either"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Lens = PS["Data.Lens"]; - var Data_Lens_Getter = PS["Data.Lens.Getter"]; - var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; - var Data_Lens_Lens = PS["Data.Lens.Lens"]; - var Data_Lens_Setter = PS["Data.Lens.Setter"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var Data_String = PS["Data.String"]; - var Data_String_Common = PS["Data.String.Common"]; - var Data_String_Pattern = PS["Data.String.Pattern"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Void = PS["Data.Void"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_Class = PS["Effect.Aff.Class"]; - var Effect_Class = PS["Effect.Class"]; - var Globals = PS["Globals"]; - var Halogen = PS["Halogen"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML = PS["Halogen.HTML"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; - var Halogen_HTML_Events = PS["Halogen.HTML.Events"]; - var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Util = PS["Util"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_HTML_Location = PS["Web.HTML.Location"]; - var Etitle = (function () { - function Etitle(value0) { - this.value0 = value0; - }; - Etitle.create = function (value0) { - return new Etitle(value0); - }; - return Etitle; - })(); - var Etext = (function () { - function Etext(value0) { - this.value0 = value0; - }; - Etext.create = function (value0) { - return new Etext(value0); - }; - return Etext; - })(); - var EisMarkdown = (function () { - function EisMarkdown(value0) { - this.value0 = value0; - }; - EisMarkdown.create = function (value0) { - return new EisMarkdown(value0); - }; - return EisMarkdown; - })(); - var NNop = (function () { - function NNop(value0) { - this.value0 = value0; - }; - NNop.create = function (value0) { - return new NNop(value0); - }; - return NNop; - })(); - var NEditField = (function () { - function NEditField(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NEditField.create = function (value0) { - return function (value1) { - return new NEditField(value0, value1); - }; - }; - return NEditField; - })(); - var NEditSubmit = (function () { - function NEditSubmit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NEditSubmit.create = function (value0) { - return function (value1) { - return new NEditSubmit(value0, value1); - }; - }; - return NEditSubmit; - })(); - var NEdit = (function () { - function NEdit(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NEdit.create = function (value0) { - return function (value1) { - return new NEdit(value0, value1); - }; - }; - return NEdit; - })(); - var NDeleteAsk = (function () { - function NDeleteAsk(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NDeleteAsk.create = function (value0) { - return function (value1) { - return new NDeleteAsk(value0, value1); - }; - }; - return NDeleteAsk; - })(); - var NDestroy = (function () { - function NDestroy(value0) { - this.value0 = value0; - }; - NDestroy.create = function (value0) { - return new NDestroy(value0); - }; - return NDestroy; - })(); - var _note = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.note; - })(function (v) { - return function (v1) { - return { - note: v1, - deleteAsk: v.deleteAsk, - destroyed: v.destroyed, - edit: v.edit, - edit_note: v.edit_note - }; - }; - })(dictStrong); - }; - var _edit_note = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.edit_note; - })(function (v) { - return function (v1) { - return { - edit_note: v1, - deleteAsk: v.deleteAsk, - destroyed: v.destroyed, - edit: v.edit, - note: v.note - }; - }; - })(dictStrong); - }; - var _edit = function (dictStrong) { - return Data_Lens_Lens.lens(function (v) { - return v.edit; - })(function (v) { - return function (v1) { - return { - edit: v1, - deleteAsk: v.deleteAsk, - destroyed: v.destroyed, - edit_note: v.edit_note, - note: v.note - }; - }; - })(dictStrong); - }; - var nnote = function (st$prime) { - var render = function (v) { - var toTextarea = function (input) { - return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) { - return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ]; - })(Data_String_Common.split("\x0a")(input))); - }; - var mmoment = function (n) { - return Globals.mmoment8601(n.created); - }; - var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_("note w-100 mw7 pa1 mb2") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_("display") ])([ Halogen_HTML_Elements.div([ Util.class_("link f5 lh-title") ])([ Halogen_HTML_Core.text((function () { - var $24 = Data_String_Common["null"](v.note.title); - if ($24) { - return "[no title]"; - }; - return v.note.title; - })()) ]), Halogen_HTML_Elements.br_, (function () { - if (v.note.isMarkdown) { - return Halogen_HTML_Elements.div([ Util.class_("description mt1") ])([ Halogen_HTML.slot(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]); - }; - return Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(v.note.text)); - })(), Halogen_HTML_Elements.div([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_("edit_links db mt3") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_("edit light-silver hover-blue") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_("delete light-silver hover-blue" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(" dn")) ])([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span([ Util.class_("confirm red" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(" dn")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ])); - var editField = function (f) { - return function ($59) { - return Halogen_HTML_Events.input(NEditField.create)(f($59)); - }; - }; - 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))) ]) ]); - var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("red") ])([ Halogen_HTML_Core.text("you killed this note") ]); - if (v.destroyed) { - return display_destroyed; - }; - if (v.edit) { - return renderNote_edit; - }; - return renderNote; - }; - var mkState = function (note$prime) { - return { - note: note$prime, - edit_note: note$prime, - deleteAsk: false, - edit: note$prime.id <= 0, - destroyed: false - }; - }; - var app = Globals["app'"](Data_Unit.unit); - var $$eval = function (v) { - if (v instanceof NNop) { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }; - if (v instanceof NEditField) { - 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 () { - if (v.value0 instanceof Etitle) { - return function (v1) { - return { - id: v1.id, - slug: v1.slug, - title: v.value0.value0, - text: v1.text, - length: v1.length, - isMarkdown: v1.isMarkdown, - created: v1.created, - updated: v1.updated - }; - }; - }; - if (v.value0 instanceof Etext) { - return function (v1) { - return { - id: v1.id, - slug: v1.slug, - title: v1.title, - text: v.value0.value0, - length: v1.length, - isMarkdown: v1.isMarkdown, - created: v1.created, - updated: v1.updated - }; - }; - }; - if (v.value0 instanceof EisMarkdown) { - return function (v1) { - return { - id: v1.id, - slug: v1.slug, - title: v1.title, - text: v1.text, - length: v1.length, - isMarkdown: v.value0.value0, - created: v1.created, - updated: v1.updated - }; - }; - }; - throw new Error("Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): " + [ v.value0.constructor.name ]); - })()))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof NDeleteAsk) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) { - var $38 = {}; - for (var $39 in v1) { - if ({}.hasOwnProperty.call(v1, $39)) { - $38[$39] = v1[$39]; - }; - }; - $38.deleteAsk = v.value0; - return $38; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - if (v instanceof NDestroy) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) { - var $44 = {}; - for (var $45 in v2) { - if ({}.hasOwnProperty.call(v2, $45)) { - $44[$45] = v2[$45]; - }; - }; - $44.destroyed = true; - return $44; - }))(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); - }); - }); - }); - }; - if (v instanceof NEdit) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - 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 () { - 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 () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }); - }); - }; - if (v instanceof NEditSubmit) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) { - return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) { - if (v2.body instanceof Data_Either.Left) { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }; - if (v2.body instanceof Data_Either.Right) { - return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () { - var $55 = v1.id === 0; - if ($55) { - 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"])); - }; - 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 () { - return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false); - }); - })())(function () { - return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1); - }); - }; - throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): " + [ v2.body.constructor.name ]); - }); - }); - }); - }; - throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): " + [ v.constructor.name ]); - }; - return Halogen_Component.parentComponent(Data_Ord.ordUnit)({ - initialState: Data_Function["const"](mkState(st$prime)), - render: render, - "eval": $$eval, - receiver: Data_Function["const"](Data_Maybe.Nothing.value) - }); - }; - exports["NNop"] = NNop; - exports["NEditField"] = NEditField; - exports["NEditSubmit"] = NEditSubmit; - exports["NEdit"] = NEdit; - exports["NDeleteAsk"] = NDeleteAsk; - exports["NDestroy"] = NDestroy; - exports["_note"] = _note; - exports["_edit_note"] = _edit_note; - exports["_edit"] = _edit; - exports["Etitle"] = Etitle; - exports["Etext"] = Etext; - exports["EisMarkdown"] = EisMarkdown; - exports["nnote"] = nnote; -})(PS["Component.NNote"] = PS["Component.NNote"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Effect_Aff = PS["Effect.Aff"]; - var Prelude = PS["Prelude"]; - var MonadFork = function (Functor1, Monad0, fork, join, suspend) { - this.Functor1 = Functor1; - this.Monad0 = Monad0; - this.fork = fork; - this.join = join; - this.suspend = suspend; - }; - var suspend = function (dict) { - return dict.suspend; - }; - var monadForkAff = new MonadFork(function () { - return Effect_Aff.functorFiber; - }, function () { - return Effect_Aff.monadAff; - }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff); - var join = function (dict) { - return dict.join; - }; - var fork = function (dict) { - return dict.fork; - }; - exports["fork"] = fork; - exports["join"] = join; - exports["suspend"] = suspend; - exports["MonadFork"] = MonadFork; - exports["monadForkAff"] = monadForkAff; -})(PS["Control.Monad.Fork.Class"] = PS["Control.Monad.Fork.Class"] || {}); -(function(exports) { - "use strict"; - - exports.warn = function (s) { - return function () { - console.warn(s); - return {}; - }; - }; -})(PS["Effect.Console"] = PS["Effect.Console"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Effect.Console"]; - var Data_Show = PS["Data.Show"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - exports["warn"] = $foreign.warn; -})(PS["Effect.Console"] = PS["Effect.Console"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Map = PS["Data.Map"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Traversable = PS["Data.Traversable"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Ref = PS["Effect.Ref"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; - var Prelude = PS["Prelude"]; - var Unsafe_Coerce = PS["Unsafe.Coerce"]; - var Web_DOM = PS["Web.DOM"]; - var unRenderStateX = Unsafe_Coerce.unsafeCoerce; - var unDriverStateX = Unsafe_Coerce.unsafeCoerce; - var renderStateX_ = function (dictApplicative) { - return function (f) { - return unDriverStateX(function (st) { - return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering); - }); - }; - }; - var mkRenderStateX = function (v) { - return Unsafe_Coerce.unsafeCoerce; - }; - var renderStateX = function (dictFunctor) { - return function (f) { - return unDriverStateX(function (st) { - return mkRenderStateX(st.prjQuery)(f(st.rendering)); - }); - }; - }; - var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce; - var initDriverState = function (component) { - return function (input) { - return function (handler) { - return function (prjQuery) { - return function (lchs) { - return function __do() { - var v = Effect_Ref["new"]({})(); - var v1 = Effect_Ref["new"](Data_Map_Internal.empty)(); - var v2 = Effect_Ref["new"](Data_Map_Internal.empty)(); - var v3 = Effect_Ref["new"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))(); - var v4 = Effect_Ref["new"](new Data_Maybe.Just(Data_List_Types.Nil.value))(); - var v5 = Effect_Ref["new"](Data_Maybe.Nothing.value)(); - var v6 = Effect_Ref["new"](0)(); - var v7 = Effect_Ref["new"](new Data_Maybe.Just(Data_Map_Internal.empty))(); - var ds = { - component: component, - state: component.initialState(input), - refs: Data_Map_Internal.empty, - children: Data_Map_Internal.empty, - childrenIn: v1, - childrenOut: v2, - selfRef: v, - handler: handler, - pendingQueries: v3, - pendingOuts: v4, - pendingHandlers: v5, - rendering: Data_Maybe.Nothing.value, - prjQuery: prjQuery, - fresh: v6, - subscriptions: v7, - lifecycleHandlers: lchs - }; - Effect_Ref.write(ds)(v)(); - return mkDriverStateXRef(v); - }; - }; - }; - }; - }; - }; - exports["unDriverStateX"] = unDriverStateX; - exports["mkDriverStateXRef"] = mkDriverStateXRef; - exports["renderStateX"] = renderStateX; - exports["renderStateX_"] = renderStateX_; - exports["unRenderStateX"] = unRenderStateX; - exports["initDriverState"] = initDriverState; -})(PS["Halogen.Aff.Driver.State"] = PS["Halogen.Aff.Driver.State"] || {}); -(function(exports) { - "use strict"; - - exports.reallyUnsafeRefEq = function (a) { - return function (b) { - return a === b; - }; - }; -})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var $foreign = PS["Unsafe.Reference"]; - var unsafeRefEq = $foreign.reallyUnsafeRefEq; - exports["unsafeRefEq"] = unsafeRefEq; -})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Applicative_Free = PS["Control.Applicative.Free"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Coroutine = PS["Control.Coroutine"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"]; - var Control_Monad_Free = PS["Control.Monad.Free"]; - var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; - var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Parallel_Class = PS["Control.Parallel.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Coyoneda = PS["Data.Coyoneda"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Map = PS["Data.Map"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Set = PS["Data.Set"]; - var Data_Tuple = PS["Data.Tuple"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Ref = PS["Effect.Ref"]; - var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; - var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; - var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; - var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"]; - var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var Unsafe_Reference = PS["Unsafe.Reference"]; - var queuingHandler = function (handler) { - return function (ref) { - return function (message) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) { - if (v instanceof Data_Maybe.Nothing) { - return handler(message); - }; - if (v instanceof Data_Maybe.Just) { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref)); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): " + [ v.constructor.name ]); - }); - }; - }; - }; - var handleLifecycle = function (lchs) { - return function (f) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({ - initializers: Data_List_Types.Nil.value, - finalizers: Data_List_Types.Nil.value - })(lchs)))(function () { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v); - }); - }); - }); - }); - }); - }; - }; - var $$eval = function (render) { - return function (r) { - var go = function (ref) { - return function (v) { - if (v instanceof Halogen_Query_HalogenM.State) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - var v2 = v.value0(v1.state); - if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0); - }; - if (Data_Boolean.otherwise) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({ - component: v1.component, - state: v2.value1, - refs: v1.refs, - children: v1.children, - childrenIn: v1.childrenIn, - childrenOut: v1.childrenOut, - selfRef: v1.selfRef, - handler: v1.handler, - pendingQueries: v1.pendingQueries, - pendingOuts: v1.pendingOuts, - pendingHandlers: v1.pendingHandlers, - rendering: v1.rendering, - prjQuery: v1.prjQuery, - fresh: v1.fresh, - subscriptions: v1.subscriptions, - lifecycleHandlers: v1.lifecycleHandlers - })(ref)))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0); - }); - }); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): " + [ v2.constructor.name ]); - }); - }; - if (v instanceof Halogen_Query_HalogenM.Subscribe) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["modify'"](function (i) { - return { - state: i + 1 | 0, - value: i - }; - })(v1.fresh)))(function (v3) { - var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) { - return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal["delete"](Data_Ord.ordInt)(v3)))(v1.subscriptions))); - }); - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () { - var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine["await"](Effect_Aff.monadAff))(function (v4) { - return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) { - return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) { - return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer); - })); - }); - }); - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () { - return done$prime; - }); - }); - }); - })))(function (v2) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1); - }); - }); - }; - if (v instanceof Halogen_Query_HalogenM.Lift) { - return v.value0; - }; - if (v instanceof Halogen_Query_HalogenM.Halt) { - return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0)); - }; - if (v instanceof Halogen_Query_HalogenM.GetSlots) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children))))); - }); - }; - if (v instanceof Halogen_Query_HalogenM.CheckSlot) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children))); - }); - }; - if (v instanceof Halogen_Query_HalogenM.ChildQuery) { - return evalChildQuery(ref)(v.value0)(v.value1); - }; - if (v instanceof Halogen_Query_HalogenM.Raise) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1); - }); - }); - }; - if (v instanceof Halogen_Query_HalogenM.Par) { - return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) { - return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103)); - })(v.value0))); - }; - if (v instanceof Halogen_Query_HalogenM.Fork) { - return Halogen_Query_ForkF.unFork(function (v1) { - return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2))); - }); - })(v.value0); - }; - if (v instanceof Halogen_Query_HalogenM.GetRef) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs))); - }); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): " + [ v.constructor.name ]); - }; - }; - var evalM = function (ref) { - return function (v) { - return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v); - }; - }; - var evalF = function (ref) { - return function (q) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) { - var v1 = v["component"]["eval"](q); - return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1); - }); - }; - }; - var evalChildQuery = function (ref) { - return function (p) { - return Data_Coyoneda.unCoyoneda(function (k) { - return function (q) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) { - var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children); - if (v1 instanceof Data_Maybe.Just) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) { - return Halogen_Aff_Driver_State.unDriverStateX(function (ds) { - var v3 = ds.prjQuery(q); - if (v3 instanceof Data_Maybe.Just) { - return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0)); - }; - if (v3 instanceof Data_Maybe.Nothing) { - return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Query projection failed for child query")); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): " + [ v3.constructor.name ]); - })(v2); - }); - }; - if (v1 instanceof Data_Maybe.Nothing) { - return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Slot lookup failed for child query")); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): " + [ v1.constructor.name ]); - }); - }; - }); - }; - }; - return function (v) { - if (v instanceof Halogen_Query_InputF.RefUpdate) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) { - return { - component: v1.component, - state: v1.state, - refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function["const"](v.value1))(v.value0)(v1.refs), - children: v1.children, - childrenIn: v1.childrenIn, - childrenOut: v1.childrenOut, - selfRef: v1.selfRef, - handler: v1.handler, - pendingQueries: v1.pendingQueries, - pendingOuts: v1.pendingOuts, - pendingHandlers: v1.pendingHandlers, - rendering: v1.rendering, - prjQuery: v1.prjQuery, - fresh: v1.fresh, - subscriptions: v1.subscriptions, - lifecycleHandlers: v1.lifecycleHandlers - }; - })(r)))(function () { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2); - }); - }; - if (v instanceof Halogen_Query_InputF.Query) { - return evalF(r)(v.value0); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): " + [ v.constructor.name ]); - }; - }; - }; - exports["handleLifecycle"] = handleLifecycle; - exports["eval"] = $$eval; - exports["queuingHandler"] = queuingHandler; -})(PS["Halogen.Aff.Driver.Eval"] = PS["Halogen.Aff.Driver.Eval"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Coroutine = PS["Control.Coroutine"]; - var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Control_Parallel = PS["Control.Parallel"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Map = PS["Data.Map"]; - var Data_Map_Internal = PS["Data.Map.Internal"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Aff_AVar = PS["Effect.Aff.AVar"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Console = PS["Effect.Console"]; - var Effect_Exception = PS["Effect.Exception"]; - var Effect_Ref = PS["Effect.Ref"]; - var Halogen = PS["Halogen"]; - var Halogen_Aff_Driver_Eval = PS["Halogen.Aff.Driver.Eval"]; - var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Prelude = PS["Prelude"]; - var newLifecycleHandlers = Effect_Ref["new"]({ - initializers: Data_List_Types.Nil.value, - finalizers: Data_List_Types.Nil.value - }); - var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))); - var runUI = function (renderSpec) { - return function (component) { - return function (i) { - var subscribe = function (fresh) { - return function (ref) { - return function (consumer) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() { - var v1 = Effect_Ref.read(fresh)(); - Effect_Ref.modify_(function (v2) { - return v2 + 1 | 0; - })(fresh)(); - Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)(); - return v1; - }))(function (v1) { - var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v))); - return Data_Functor["void"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal["delete"](Data_Ord.ordInt)(v1))(ref)))(function () { - return Effect_Aff_AVar.kill(Effect_Exception.error("ended"))(v); - }); - }))); - }); - }); - }; - }; - }; - var rootHandler = function (ref) { - return function (message) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) { - return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v)); - }); - }; - }; - var handlePending = function (ref) { - return function __do() { - var v = Effect_Ref.read(ref)(); - Effect_Ref.write(Data_Maybe.Nothing.value)(ref)(); - return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) { - return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63))); - })(); - }; - }; - var cleanupSubscriptions = function (v) { - return function __do() { - Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) { - return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64)); - }))(Effect_Ref.read(v.subscriptions))(); - return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)(); - }; - }; - var squashChildInitializers = function (lchs) { - return function (preInits) { - return Halogen_Aff_Driver_State.unDriverStateX(function (st) { - var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) { - return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65)); - })(st.component.initializer); - return Effect_Ref.modify_(function (handlers) { - return { - initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() { - handlePending(st.pendingQueries)(); - return handlePending(st.pendingOuts)(); - }); - }); - }), preInits), - finalizers: handlers.finalizers - }; - })(lchs); - }); - }; - }; - var runComponent = function (lchs) { - return function (handler) { - return function (j) { - return function (prjQuery) { - return Halogen_Component.unComponent(function (c) { - return function __do() { - var v = newLifecycleHandlers(); - var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)(); - var v2 = Effect_Ref.read(lchs)(); - Effect_Ref.write({ - initializers: Data_List_Types.Nil.value, - finalizers: v2.finalizers - })(lchs)(); - Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) { - return render(lchs)((function (v3) { - return v3.selfRef; - })($66)); - }))(Effect_Ref.read(v1))(); - Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))(); - return v1; - }; - }); - }; - }; - }; - }; - var renderChild = function (lchs) { - return function (handler) { - return function (mkOrdBox) { - return function (childrenInRef) { - return function (childrenOutRef) { - return Halogen_Component.unComponentSlot(function (p) { - return function (ctor) { - return function (input) { - return function (inputQuery) { - return function (outputQuery) { - return function (prjQuery) { - var ordP = mkOrdBox(p); - return function __do() { - var v = Effect_Ref.read(childrenInRef)(); - var v1 = (function () { - var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v); - if (v1 instanceof Data_Maybe.Just) { - Effect_Ref.write(v1.value0.value1)(childrenInRef)(); - Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) { - return function __do() { - var v2 = Effect_Ref.read(v1.value0.value0)(); - return Halogen_Aff_Driver_State.unDriverStateX(function (st) { - return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) { - return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67))); - }); - })(v2)(); - }; - })(); - return v1.value0.value0; - }; - if (v1 instanceof Data_Maybe.Nothing) { - return runComponent(lchs)(function ($68) { - return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68)); - })(input)(prjQuery)(ctor)(); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): " + [ v1.constructor.name ]); - })(); - var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))(); - Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(); - Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)(); - return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) { - if (v3 instanceof Data_Maybe.Nothing) { - return Effect_Exception["throw"]("Halogen internal error: child was not initialized in renderChild"); - }; - if (v3 instanceof Data_Maybe.Just) { - return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0)); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): " + [ v3.constructor.name ]); - }))(); - }; - }; - }; - }; - }; - }; - }); - }; - }; - }; - }; - }; - var render = function (lchs) { - return function ($$var) { - return function __do() { - var v = Effect_Ref.read($$var)(); - var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))(); - Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))(); - Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)(); - Effect_Ref.write(v.children)(v.childrenIn)(); - var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) { - return Data_Functor["void"](Effect_Aff.functorAff)(evalF(v.selfRef)($69)); - })(v.pendingHandlers); - var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) { - return handler(Halogen_Query_InputF.Query.create($70)); - })(v.pendingQueries); - var v2 = renderSpec.render(function ($71) { - return handleAff(handler($71)); - })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)(); - var v3 = Effect_Ref.read(v.childrenOut)(); - Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) { - return function __do() { - var v4 = Effect_Ref.read(childVar)(); - Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)(); - return finalize(lchs)(v4)(); - }; - }))(); - Effect_Ref.modify_(function (v4) { - return { - rendering: new Data_Maybe.Just(v2), - children: v3, - component: v4.component, - state: v4.state, - refs: v4.refs, - childrenIn: v4.childrenIn, - childrenOut: v4.childrenOut, - selfRef: v4.selfRef, - handler: v4.handler, - pendingQueries: v4.pendingQueries, - pendingOuts: v4.pendingOuts, - pendingHandlers: v4.pendingHandlers, - prjQuery: v4.prjQuery, - fresh: v4.fresh, - subscriptions: v4.subscriptions, - lifecycleHandlers: v4.lifecycleHandlers - }; - })(v.selfRef)(); - return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) { - return function __do() { - var v5 = Effect_Ref.read(v.pendingHandlers)(); - Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)(); - Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) { - return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72))); - })(v5)(); - var v6 = Effect_Ref.read(v.pendingHandlers)(); - var $57 = Data_Maybe.maybe(false)(Data_List["null"])(v6); - if ($57) { - return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))(); - }; - return new Control_Monad_Rec_Class.Loop(Data_Unit.unit); - }; - }))(); - }; - }; - }; - var finalize = function (lchs) { - return Halogen_Aff_Driver_State.unDriverStateX(function (st) { - return function __do() { - cleanupSubscriptions(st)(); - Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) { - return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73)); - })(st.component.finalizer))(function (f) { - return Effect_Ref.modify_(function (handlers) { - return { - initializers: handlers.initializers, - finalizers: new Data_List_Types.Cons(f, handlers.finalizers) - }; - })(lchs); - })(); - return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))(); - }; - }); - }; - var evalF = function (ref) { - return Halogen_Aff_Driver_Eval["eval"](render)(ref); - }; - var evalDriver = function (ref) { - return function (prjQuery) { - return function (q) { - var v = prjQuery(q); - if (v instanceof Data_Maybe.Just) { - return evalF(ref)(new Halogen_Query_InputF.Query(v.value0)); - }; - if (v instanceof Data_Maybe.Nothing) { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error("Halogen internal error: query projection failed in runUI'"))); - }; - throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): " + [ v.constructor.name ]); - }; - }; - }; - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["new"](0)))(function (v1) { - return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() { - var v2 = Effect_Ref["new"](Data_Map_Internal.empty)(); - return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) { - return Control_Applicative.pure(Effect.applicativeEffect)({ - query: evalDriver(st.selfRef)(st.prjQuery), - subscribe: subscribe(v1)(v2) - }); - }))(); - }); - }); - }); - }; - }; - }; - exports["runUI"] = runUI; -})(PS["Halogen.Aff.Driver"] = PS["Halogen.Aff.Driver"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Either = PS["Data.Either"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Exception = PS["Effect.Exception"]; - var Prelude = PS["Prelude"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_Event_EventTarget = PS["Web.Event.EventTarget"]; - var Web_HTML = PS["Web.HTML"]; - var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"]; - var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"]; - var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var Web_HTML_Window = PS["Web.HTML.Window"]; - var selectElement = function (query) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) { - return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12)); - })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) { - return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v)); - }); - }; - var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))); - exports["selectElement"] = selectElement; - exports["runHalogenAff"] = runHalogenAff; -})(PS["Halogen.Aff.Util"] = PS["Halogen.Aff.Util"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Array = PS["Data.Array"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Nullable = PS["Data.Nullable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Effect = PS["Effect"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; - var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; - var Halogen_VDom_Util = PS["Halogen.VDom.Util"]; - var Prelude = PS["Prelude"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_Node = PS["Web.DOM.Node"]; - var eqElemSpec = function (a, b) { - if (a.value1 === b.value1) { - if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) { - return true; - }; - if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) { - return true; - }; - return false; - }; - return false; - }; - var buildWidget = (function () { - var patch = function (build, v) { - return function (v1) { - if (v1 instanceof Halogen_VDom_Types.Grafted) { - return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0)); - }; - if (v1 instanceof Halogen_VDom_Types.Widget) { - var v2 = v.value1(v1.value0); - return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2); - }; - v.value2(); - return build(v1); - }; - }; - var render = function (v, build, w) { - var v1 = v.buildWidget(v)(w); - return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2); - }; - return render; - })(); - var buildText = (function () { - var patch = function (build, halt, node, s1) { - return function (v) { - if (v instanceof Halogen_VDom_Types.Grafted) { - return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0)); - }; - if (v instanceof Halogen_VDom_Types.Text) { - var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt); - var $84 = s1 === v.value0; - if ($84) { - return res; - }; - Halogen_VDom_Util.setTextContent(v.value0, node); - return res; - }; - halt(); - return build(v); - }; - }; - var done = function (node) { - return function __do() { - var v = Halogen_VDom_Util.parentNode(node); - return Halogen_VDom_Util.removeChild(node, v); - }; - }; - var render = function (v, build, s) { - var v1 = Halogen_VDom_Util.createTextNode(s, v.document); - var halt = done(v1); - return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt); - }; - return render; - })(); - var buildKeyed = (function () { - var done = function (node, attrs, steps) { - return function __do() { - var v = Halogen_VDom_Util.parentNode(node); - Halogen_VDom_Util.removeChild(node, v); - Halogen_VDom_Util.forInE(steps, function (v1, v2) { - return v2.value2(); - }); - return Halogen_VDom_Machine.halt(attrs)(); - }; - }; - var patch = function (build, halt, node, attrs, v, ch1, len1) { - return function (v1) { - if (v1 instanceof Halogen_VDom_Types.Grafted) { - return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0)); - }; - if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) { - var v2 = Data_Array.length(v1.value1); - if (len1 === 0 && v2 === 0) { - var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2); - var halt$prime = done(node, v4, ch1); - return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime); - }; - var onThis = function (v4, v5) { - return v5.value2(); - }; - var onThese = function (v4, ix$prime, v5, v6) { - var v7 = v5.value1(v6.value1); - Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node); - return v7; - }; - var onThat = function (v4, ix, v5) { - var v6 = build(v5.value1); - Halogen_VDom_Util.insertChildIx(ix, v6.value0, node); - return v6; - }; - var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat); - var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2); - var halt$prime = done(node, v5, v4); - return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime); - }; - halt(); - return build(v1); - }; - }; - var render = function (v, build, v1, ch1) { - var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document); - var node = Web_DOM_Element.toNode(v2); - var onChild = function (k, ix, v3) { - var v4 = build(v3.value1); - Halogen_VDom_Util.insertChildIx(ix, v4.value0, node); - return v4; - }; - var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild); - var v4 = v.buildAttributes(v2)(v1.value2); - var halt = done(node, v4, v3); - return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt); - }; - return render; - })(); - var buildElem = (function () { - var done = function (node, attrs, steps) { - return function __do() { - var v = Halogen_VDom_Util.parentNode(node); - Halogen_VDom_Util.removeChild(node, v); - Effect.foreachE(steps)(Halogen_VDom_Machine.halt)(); - return Halogen_VDom_Machine.halt(attrs)(); - }; - }; - var patch = function (build, halt, node, attrs, v, ch1) { - return function (v1) { - if (v1 instanceof Halogen_VDom_Types.Grafted) { - return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0)); - }; - if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) { - var v2 = Data_Array.length(v1.value1); - var v3 = Data_Array.length(ch1); - if (v3 === 0 && v2 === 0) { - var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2); - var halt$prime = done(node, v4, ch1); - return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime); - }; - var onThis = function (ix, v4) { - return v4.value2(); - }; - var onThese = function (ix, v4, vdom) { - var v5 = v4.value1(vdom); - Halogen_VDom_Util.insertChildIx(ix, v5.value0, node); - return v5; - }; - var onThat = function (ix, vdom) { - var v4 = build(vdom); - Halogen_VDom_Util.insertChildIx(ix, v4.value0, node); - return v4; - }; - var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat); - var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2); - var halt$prime = done(node, v5, v4); - return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime); - }; - halt(); - return build(v1); - }; - }; - var render = function (v, build, v1, ch1) { - var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document); - var node = Web_DOM_Element.toNode(v2); - var onChild = function (ix, child) { - var v3 = build(child); - Halogen_VDom_Util.insertChildIx(ix, v3.value0, node); - return v3; - }; - var v3 = Halogen_VDom_Util.forE(ch1, onChild); - var v4 = v.buildAttributes(v2)(v1.value2); - var halt = done(node, v4, v3); - return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt); - }; - return render; - })(); - var buildVDom = function (spec) { - var build = function (v) { - if (v instanceof Halogen_VDom_Types.Text) { - return buildText(spec, build, v.value0); - }; - if (v instanceof Halogen_VDom_Types.Elem) { - return buildElem(spec, build, v.value0, v.value1); - }; - if (v instanceof Halogen_VDom_Types.Keyed) { - return buildKeyed(spec, build, v.value0, v.value1); - }; - if (v instanceof Halogen_VDom_Types.Widget) { - return buildWidget(spec, build, v.value0); - }; - if (v instanceof Halogen_VDom_Types.Grafted) { - return build(Halogen_VDom_Types.runGraft(v.value0)); - }; - throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): " + [ v.constructor.name ]); - }; - return build; - }; - exports["buildVDom"] = buildVDom; - exports["buildText"] = buildText; - exports["buildElem"] = buildElem; - exports["buildKeyed"] = buildKeyed; - exports["buildWidget"] = buildWidget; -})(PS["Halogen.VDom.DOM"] = PS["Halogen.VDom.DOM"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Category = PS["Control.Category"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Effect_Ref = PS["Effect.Ref"]; - var Effect_Uncurried = PS["Effect.Uncurried"]; - var Halogen_Aff_Driver = PS["Halogen.Aff.Driver"]; - var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; - var Halogen_Component = PS["Halogen.Component"]; - var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; - var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; - var Halogen_VDom = PS["Halogen.VDom"]; - var Halogen_VDom_DOM = PS["Halogen.VDom.DOM"]; - var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"]; - var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; - var Prelude = PS["Prelude"]; - var Unsafe_Reference = PS["Unsafe.Reference"]; - var Web_DOM_Document = PS["Web.DOM.Document"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_Node = PS["Web.DOM.Node"]; - var Web_HTML = PS["Web.HTML"]; - var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var Web_HTML_Window = PS["Web.HTML.Window"]; - var substInParent = function (v) { - return function (v1) { - return function (v2) { - if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) { - return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0)); - }; - if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) { - return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0)); - }; - return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit); - }; - }; - }; - var removeChild = function (v) { - return function __do() { - var v1 = Web_DOM_Node.parentNode(v.node)(); - return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) { - return Web_DOM_Node.removeChild(v.node)(pn); - })(v1)(); - }; - }; - var mkSpec = function (handler) { - return function (renderChildRef) { - return function (document) { - var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) { - return v.node; - }); - var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit); - var patch = function (slot) { - var v = Effect_Ref.read(renderChildRef)(); - var v1 = v(slot)(); - var node = getNode(v1); - return new Halogen_VDom_Machine.Step(node, patch, done); - }; - var buildWidget = function (spec) { - return function (slot) { - var v = Effect_Ref.read(renderChildRef)(); - var v1 = v(slot)(); - var node = getNode(v1); - return new Halogen_VDom_Machine.Step(node, patch, done); - }; - }; - var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler); - return { - buildWidget: buildWidget, - buildAttributes: buildAttributes, - document: document - }; - }; - }; - }; - var renderSpec = function (document) { - return function (container) { - var render = function (handler) { - return function (child) { - return function (v) { - return function (v1) { - if (v1 instanceof Data_Maybe.Nothing) { - return function __do() { - var v2 = Effect_Ref["new"](child)(); - var spec = mkSpec(handler)(v2)(document); - var v3 = Halogen_VDom_DOM.buildVDom(spec)(v); - var node = Halogen_VDom_Machine.extract(v3); - Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))(); - return { - machine: v3, - node: node, - renderChildRef: v2 - }; - }; - }; - if (v1 instanceof Data_Maybe.Just) { - return function __do() { - Effect_Ref.write(child)(v1.value0.renderChildRef)(); - var v2 = Web_DOM_Node.parentNode(v1.value0.node)(); - var v3 = Web_DOM_Node.nextSibling(v1.value0.node)(); - var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v); - var newNode = Halogen_VDom_Machine.extract(v4); - Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))(); - return { - machine: v4, - node: newNode, - renderChildRef: v1.value0.renderChildRef - }; - }; - }; - throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): " + [ v1.constructor.name ]); - }; - }; - }; - }; - return { - render: render, - renderChild: Control_Category.identity(Control_Category.categoryFn), - removeChild: removeChild - }; - }; - }; - var runUI = function (component) { - return function (i) { - return function (element) { - return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) { - return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i); - }); - }; - }; - }; - exports["runUI"] = runUI; -})(PS["Halogen.VDom.Driver"] = PS["Halogen.VDom.Driver"] || {}); -(function(exports) { - // Generated by purs version 0.12.2 - "use strict"; - var App = PS["App"]; - var Component_AccountSettings = PS["Component.AccountSettings"]; - var Component_Add = PS["Component.Add"]; - var Component_BList = PS["Component.BList"]; - var Component_NList = PS["Component.NList"]; - var Component_NNote = PS["Component.NNote"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Unit = PS["Data.Unit"]; - var Effect = PS["Effect"]; - var Effect_Aff = PS["Effect.Aff"]; - var Effect_Class = PS["Effect.Class"]; - var Halogen_Aff = PS["Halogen.Aff"]; - var Halogen_Aff_Util = PS["Halogen.Aff.Util"]; - var Halogen_VDom_Driver = PS["Halogen.VDom.Driver"]; - var Model = PS["Model"]; - var Prelude = PS["Prelude"]; - var Web_DOM_Element = PS["Web.DOM.Element"]; - var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"]; - var Web_Event_Event = PS["Web.Event.Event"]; - var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"]; - var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(".user_footer"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute("hidden")(Web_HTML_HTMLElement.toElement(el))); - })); - var renderNotes = function (renderElSelector) { - return function (notes) { - return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () { - return showFooter; - }); - }))); - }; - }; - var renderNote = function (renderElSelector) { - return function (note) { - return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)); - }))); - }; - }; - var renderBookmarks = function (renderElSelector) { - return function (bmarks) { - return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () { - return showFooter; - }); - }))); - }; - }; - var renderAddForm = function (renderElSelector) { - return function (bmark) { - return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el); - }))); - }; - }; - var renderAccountSettings = function (renderElSelector) { - return function (accountSettings) { - return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) { - return Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)); - }))); - }; - }; - var main = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit); - var logoutE = function (e) { - return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) { - return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0))); - })(Web_Event_Event.preventDefault(e)); - }; - exports["main"] = main; - exports["logoutE"] = logoutE; - exports["renderBookmarks"] = renderBookmarks; - exports["renderAddForm"] = renderAddForm; - exports["renderNotes"] = renderNotes; - exports["renderNote"] = renderNote; - exports["renderAccountSettings"] = renderAccountSettings; - exports["showFooter"] = showFooter; -})(PS["Main"] = PS["Main"] || {}); -PS["Main"].main(); \ No newline at end of file diff --git a/static/js/app.js.gz b/static/js/app.js.gz deleted file mode 100644 index 442c49e9675d9c7f712c61fd9b0e8cfcbdfd8a30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76905 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 bSPx1+m|9Id%AkLHM}PbOg%oGALZK@< diff --git a/static/js/app.min.js b/static/js/app.min.js index 44e9f45..b99a9e1 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -1 +1,16 @@ -var PS={};!function(n){"use strict";var e;(PS["Affjax"]=PS["Affjax"]||{})._ajax=(e={},"undefined"==typeof module||!module.require||"undefined"!=typeof process&&process.versions.electron?(e.newXHR=function(){return new XMLHttpRequest},e.fixupUrl=function(n){return n||"/"},e.getResponse=function(n){return n.response}):(e.newXHR=function(){return new(module.require("xhr2"))},e.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},e.getResponse=function(n){return n.response}),function(n,t){return function(r,a){var o=e.newXHR(),u=e.fixupUrl(t.url);if(o.open(t.method||"GET",u,!0,t.username,t.password),t.headers)try{for(var i,l=0;null!=(i=t.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(n){r(n)}return o.onerror=function(){r(new Error("AJAX request failed: "+t.method+" "+t.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:e.getResponse(o)})},o.responseType=t.responseType,o.withCredentials=t.withCredentials,o.send(t.content),function(n,e,t){try{o.abort()}catch(n){return e(n)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";(PS["Data.Eq"]=PS["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";PS["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(PS["Data.Symbol"]=PS["Data.Symbol"]||{}),function(n){"use strict";(PS["Data.Unit"]=PS["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(PS["Data.Show"]=PS["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=PS["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(PS["Type.Data.RowList"]=PS["Type.Data.RowList"]||{}),function(n){"use strict";var e=PS["Data.Show"],t=(PS["Data.Symbol"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.show=n}),r=new t(e.showIntImpl);n.Show=t,n.show=function(n){return n.show},n.showInt=r}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";var e=PS["Data.Unit"];PS["Data.Show"];n.unit=e.unit}(PS["Data.Unit"]=PS["Data.Unit"]||{}),function(n){"use strict";var e=PS["Data.HeytingAlgebra"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),r=function(n){return n.tt},a=function(n){return n.not},o=function(n){return n.implies},u=function(n){return n.ff},i=function(n){return n.disj},l=new t(e.boolConj,e.boolDisj,!1,function(n){return function(e){return i(l)(a(l)(n))(e)}},e.boolNot,!0),c=function(n){return n.conj};n.HeytingAlgebra=t,n.tt=r,n.ff=u,n.implies=o,n.conj=c,n.disj=i,n.not=a,n.heytingAlgebraBoolean=l,n.heytingAlgebraFunction=function(n){return new t(function(e){return function(t){return function(r){return c(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return i(n)(e(r))(t(r))}}},function(e){return u(n)},function(e){return function(t){return function(r){return o(n)(e(r))(t(r))}}},function(e){return function(t){return a(n)(e(t))}},function(e){return r(n)})}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";PS["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(PS["Data.Void"]=PS["Data.Void"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=(PS["Data.HeytingAlgebra"],PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.eq=n}),r=new t(function(n){return function(n){return!0}}),a=new t(function(n){return function(n){return!0}}),o=new t(e.refEq),u=new t(e.refEq),i=new t(e.refEq);n.Eq=t,n.eq=function(n){return n.eq},n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a,n.eqVoid=r}(PS["Data.Eq"]=PS["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}(PS["Control.Semigroupoid"]=PS["Control.Semigroupoid"]||{}),function(n){"use strict";var e=PS["Control.Semigroupoid"],t=function(n,e){this.Semigroupoid0=n,this.identity=e},r=new t(function(){return e.semigroupoidFn},function(n){return n});n.Category=t,n.identity=function(n){return n.identity},n.categoryFn=r}(PS["Control.Category"]=PS["Control.Category"]||{}),function(n){"use strict";(PS["Data.Boolean"]=PS["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(PS["Data.Ord.Unsafe"]=PS["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}}}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=(PS["Data.Semiring"],PS["Data.Symbol"],PS["Data.Unit"],function(n){this.Ring0=n}),r=new t(function(){return e.ringInt});n.CommutativeRing=t,n.commutativeRingInt=r}(PS["Data.CommutativeRing"]=PS["Data.CommutativeRing"]||{}),function(n){"use strict";var e=PS["Data.EuclideanRing"],t=(PS["Data.BooleanAlgebra"],PS["Data.CommutativeRing"]),r=(PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Ring"],PS["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),a=new r(function(){return t.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=r,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=a}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";PS["Data.Boolean"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Ord"],PS["Data.Ordering"];var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),r=new t(function(){return e.semigroupString},""),a=new t(function(){return e.semigroupArray},[]),o=function(n){return n.mempty};n.Monoid=t,n.mempty=o,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return o(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new t(function(){return e.semigroupFn(n.Semigroup0())},function(e){return o(n)})},n.monoidString=r,n.monoidArray=a}(PS["Data.Monoid"]=PS["Data.Monoid"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=PS["Control.Bind"],r=PS["Control.Category"],a=(PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Function"]),o=PS["Data.Functor"],u=(PS["Data.Functor.Invariant"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Unit"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(n){return function(e){return function(t){if(t instanceof u)return n;if(t instanceof i)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])}}},c=l(!0)(a.const(!1)),f=l(!1)(a.const(!0)),s=new o.Functor(function(n){return function(e){return e instanceof i?new i(n(e.value0)):u.value}}),d=new e.Apply(function(){return s},function(n){return function(e){if(n instanceof i)return o.map(s)(n.value0)(e);if(n instanceof u)return u.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),S=new t.Bind(function(){return d},function(n){return function(e){if(n instanceof i)return e(n.value0);if(n instanceof u)return u.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=u,n.Just=i,n.maybe=l,n.fromMaybe=function(n){return l(n)(r.identity(r.categoryFn))},n.isJust=f,n.isNothing=c,n.fromJust=function(n){return function(n){if(n instanceof i)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=s,n.applyMaybe=d,n.bindMaybe=S}(PS["Data.Maybe"]=PS["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";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)&&(g=A,b=J._3(V)));break;case v:R++,W=new D(S,new D(m,b,h),W,U),g=A,b=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):h?J._1.failed(n.fromLeft(h))(J._2):J._1.completed(n.fromRight(b))(J._2),h=null;break;case p:R++,W=new D(S,new D(m,b,h),W,U),g=A,b=J._1;break;case m:R--,g=L,b=J._1,h=J._2}break;case _:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,w(B[Q].handler(b)));return B=null,void(U&&h?setTimeout(function(){throw n.fromLeft(h)},0):n.isLeft(b)&&q&&setTimeout(function(){if(q)throw n.fromLeft(b)},0));case C:g=A;break;case H:return}}function V(n){return function(){if(g===_)return q=q&&n.rethrow,n.handler(b)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(g===_)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(g){case C:U=n.left(e),g=_,b=U,j(d);break;case H:null===U&&(U=n.left(e)),0===R&&(g===H&&(W=new D(S,new D(p,b(e)),W,U)),g=L,b=null,h=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(g=L,b=null,h=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return g===C&&j(d),e}},onComplete:V,isSuspended:function(){return g===C},run:function(){g===C&&(E.isDraining()?j(d):E.enqueue(function(){j(d)}))}}}function U(e,t,r,a){var u=0,i={},l=0,c={},P=new Error("[ParAff] Early exit"),v=null,p=n;function m(t,r,a){var o,u,l=r,c=null,P=null,v=0,p={};n:for(;;)switch(o=null,l.tag){case g:if(l._3===n&&(o=i[l._1],p[v++]=o.kill(t,function(n){return function(){0===--v&&a(n)()}})),null===c)break n;l=c._2,null===P?c=null:(c=P._1,P=P._2);break;case f:l=l._2;break;case s:case d:c&&(P=new D(S,c,P)),c=l,l=l._1}if(0===v)a(e.right(void 0))();else for(u=0,o=v;u=t.bottom(t.boundedInt)&&n<=t.top(t.boundedInt)?new r.Just(e.fromCharCode(n)):r.Nothing.value},d=new o(function(){return a.ordChar},f(s)(e.toCharCode),c(s)(e.toCharCode)),S=new u(function(){return t.boundedChar},function(){return d},e.toCharCode(t.top(t.boundedChar))-e.toCharCode(t.bottom(t.boundedChar))|0,e.toCharCode,s);n.Enum=o,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=u,n.cardinality=function(n){return n.cardinality},n.toEnum=i,n.fromEnum=l,n.toEnumWithDefaults=function(n){return function(e){return function(a){return function(o){var u=i(n)(o);if(u instanceof r.Just)return u.value0;if(u instanceof r.Nothing)return o1){var t=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n));return S(t)?d(e)(t):e}return e}),g=e._toCodePointArray(function(n){return s.unfoldr(s.unfoldableArray)(p)(n)})(m),D=function(n){return l.singleton(a.toEnumWithDefaults(a.boundedEnumChar)(r.bottom(r.boundedChar))(r.top(r.boundedChar))(n))},b=e._singleton(function(n){if(n<=65535)return D(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return D(e)+D(t)}),h=function(n){return function(e){if(n<1)return"";var t=v(e);return t instanceof i.Just?b(t.value0.head)+h(n-1|0)(t.value0.tail):e}},w=e._take(h);n.singleton=b,n.toCodePointArray=g,n.uncons=v,n.length=function(n){return t.length(g(n))},n.take=w,n.drop=function(n){return function(e){return l.drop(l.length(w(n)(e)))(e)}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";PS["Control.Applicative"];var e=PS["Control.Bind"],t=(PS["Control.Monad.Maybe.Trans"],PS["Control.Semigroupoid"],PS["Data.Array"]),r=(PS["Data.Eq"],PS["Data.Foldable"]),a=(PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),u=PS["Data.Nullable"],i=(PS["Data.String"],PS["Data.String.CodePoints"]),l=PS["Data.String.Common"],c=(PS["Data.String.Pattern"],PS["Data.Tuple"]),f=(PS["Data.Unit"],PS.Effect),s=PS["Global.Unsafe"],d=(PS.Halogen,PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),S=PS["Halogen.HTML.Properties"],P=(PS["Partial.Unsafe"],PS.Prelude,PS["Web.DOM"],PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.NodeList"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.HTML"]),v=(PS["Web.HTML.HTMLDocument"],PS["Web.HTML.HTMLElement"],PS["Web.HTML.Location"]),p=PS["Web.HTML.Window"],m=function(n){var e,r=function(n){return s.unsafeDecodeURIComponent(l.replaceAll("+")(" ")(n))},a="#"===(e=i.take(1)(n))||"?"===e?i.drop(1)(n):n;return t.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new o.Just(new c.Tuple(r(e[0]),o.Nothing.value)):2===e.length?new o.Just(new c.Tuple(r(e[0]),new o.Just(r(e[1])))):o.Nothing.value})(t.filter(function(n){return""!==n})(l.split("&")(a)))},g=e.bindFlipped(f.bindEffect)(p.location)(P.window);n.class_=function(n){return S.class_(d.ClassName(n))},n.attr=function(n){return S.attr(n)},n._loc=g,n._curQuerystring=function(){var n=g(),e=v.search(n)();return m(e)},n._parseQueryString=m,n._lookupQueryStringValue=function(n){return function(t){return e.join(o.bindMaybe)(a.map(o.functorMaybe)(c.snd)(r.find(r.foldableArray)(function(n){return c.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return o.fromMaybe("")(u.toMaybe(n))}}(PS.Util=PS.Util||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.InputType"]),o=PS["Data.Function"],u=PS["Data.Functor"],i=(PS["Data.Lens"],PS["Data.Lens.Getter"]),l=PS["Data.Lens.Internal.Forget"],c=PS["Data.Lens.Lens"],f=PS["Data.Lens.Setter"],s=PS["Data.Maybe"],d=PS["Data.Profunctor.Strong"],S=PS["Data.Unit"],P=(PS["Effect.Aff"],PS["Effect.Aff.Class"]),v=PS.Globals,p=(PS.Halogen,PS["Halogen.Component"]),m=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),g=PS["Halogen.HTML.Elements"],D=PS["Halogen.HTML.Events"],b=PS["Halogen.HTML.Properties"],h=PS["Halogen.Query.HalogenM"],w=(PS.Model,PS.Prelude,PS.Util),y=(PS["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),M=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),E=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),C=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}(),A=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}(),T=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=T,n.UEditField=C,n.USubmit=A,n.EarchiveDefault=y,n.EprivateDefault=M,n.EprivacyLock=E,n.usetting=function(n){var c;v["app'"](S.unit);return p.component(m.bifunctorHTML)({initialState:o.const((c=n,{us:c})),render:function(n){var e=function(n){return function(e){return D.input(C.create)(n(e))}};return g.div([w.class_("settings-form")])([g.div([w.class_("fw7 mb2")])([m.text("Account Settings")]),g.div([w.class_("flex items-center mb2")])([g.input([b.type_(m.inputTypeIsProp)(a.InputCheckbox.value),w.class_("pointer mr2"),b.id_("archiveDefault"),b.name("archiveDefault"),b.checked(n.us.archiveDefault),D.onChecked(e(y.create))]),g.label([b.for("archiveDefault"),w.class_("lh-copy")])([m.text("Archive Non-Private Bookmarks (archive.li)")])]),g.div([w.class_("flex items-center mb2")])([g.input([b.type_(m.inputTypeIsProp)(a.InputCheckbox.value),w.class_("pointer mr2"),b.id_("privateDefault"),b.name("privateDefault"),b.checked(n.us.privateDefault),D.onChecked(e(M.create))]),g.label([b.for("privateDefault"),w.class_("lh-copy")])([m.text("Default new bookmarks to Private")])]),g.div([w.class_("flex items-center mb2")])([g.input([b.type_(m.inputTypeIsProp)(a.InputCheckbox.value),w.class_("pointer mr2"),b.id_("privacyLock"),b.name("privacyLock"),b.checked(n.us.privacyLock),D.onChecked(e(E.create))]),g.label([b.for("privacyLock"),w.class_("lh-copy")])([m.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof C)return r.discard(r.discardUnit)(h.bindHalogenM)(f.modifying(h.monadStateHalogenM)(T(d.strongFn))(function(){if(n.value0 instanceof y)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof E)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 t.pure(h.applicativeHalogenM)(n.value1)});if(n instanceof A)return r.bind(h.bindHalogenM)(i.use(h.monadStateHalogenM)(T(l.strongForget)))(function(a){return r.discard(r.discardUnit)(h.bindHalogenM)(u.void(h.functorHalogenM)(P.liftAff(h.monadAffHalogenM(P.monadAffAff))(e.editAccountSettings(a))))(function(){return t.pure(h.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:o.const(s.Nothing.value)})}}(PS["Component.AccountSettings"]=PS["Component.AccountSettings"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],o=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),u=PS["DOM.HTML.Indexed.InputType"],i=(PS["Data.Array"],PS["Data.Foldable"],PS["Data.Function"]),l=PS["Data.Functor"],c=(PS["Data.HeytingAlgebra"],PS["Data.Lens"],PS["Data.Lens.Getter"]),f=PS["Data.Lens.Internal.Forget"],s=PS["Data.Lens.Lens"],d=PS["Data.Lens.Setter"],S=PS["Data.Maybe"],P=PS["Data.Monoid"],v=(PS["Data.Ord"],PS["Data.Profunctor.Strong"]),p=PS["Data.Semigroup"],m=(PS["Data.String"],PS["Data.String.Common"]),g=(PS["Data.String.Pattern"],PS["Data.Tuple"]),D=PS["Data.Unit"],b=PS["Effect.Aff"],h=PS["Effect.Aff.Class"],w=PS["Effect.Class"],y=PS.Globals,M=(PS.Halogen,PS["Halogen.Component"]),E=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),C=PS["Halogen.HTML.Elements"],A=PS["Halogen.HTML.Events"],T=PS["Halogen.HTML.Properties"],F=PS["Halogen.Query.HalogenM"],H=(PS.Model,PS.Prelude,PS.Util),L=PS["Web.Event.Event"],_=PS["Web.HTML"],I=PS["Web.HTML.Location"],U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(n){return s.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},J=function(n){return s.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=j,n.Eurl=U,n.Etitle=x,n.Edescription=k,n.Etags=O,n.Eprivate=W,n.Etoread=R,n._bm=J,n._edit_bm=V,n.addbmark=function(n){var s;y["app'"](D.unit);return M.component(E.bifunctorHTML)({initialState:i.const((s=n,{bm:s,edit_bm:s,deleteAsk:!1,destroyed:!1})),render:function(n){var e=y.mmoment8601(n.bm.time),t=function(n){return function(e){return A.input(N.create)(n(e))}},r=C.div([H.class_("alert")])([E.text("previously saved "),C.span([H.class_("link f7 dib gray pr3"),T.title(S.maybe(n.bm.time)(g.snd)(e))])([E.text(S.maybe(" ")(g.fst)(e))]),C.div([H.class_("edit_links dib ml1")])([C.div([H.class_("delete_link di")])([C.button(p.append(p.semigroupArray)([T.type_(E.buttonTypeIsProp)(o.ButtonButton.value),A.onClick(A.input_(q.create(!0))),H.class_("delete")])(P.guard(P.monoidArray)(n.deleteAsk)([H.attr("hidden")("hidden")])))([E.text("delete")]),C.span(p.append(p.semigroupArray)([H.class_("confirm red")])(P.guard(P.monoidArray)(!n.deleteAsk)([H.attr("hidden")("hidden")])))([C.button([T.type_(E.buttonTypeIsProp)(o.ButtonButton.value),A.onClick(A.input_(q.create(!1)))])([E.text("cancel / ")]),C.button([T.type_(E.buttonTypeIsProp)(o.ButtonButton.value),A.onClick(A.input_(j.create)),H.class_("red")])([E.text("destroy")])])])])]),a=C.form([A.onSubmit(A.input(B.create))])([C.table([H.class_("w-100")])([C.tbody_([C.tr_([C.td([H.class_("w1")])([]),C.td_(P.guard(P.monoidArray)(n.bm.bid>0)([r]))]),C.tr_([C.td_([C.label([T.for("url")])([E.text("URL")])]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputUrl.value),T.id_("url"),H.class_("w-100 mv1"),T.required(!0),T.name("url"),T.autofocus(m.null(n.bm.url)),T.value(n.edit_bm.url),A.onValueChange(t(U.create))])])]),C.tr_([C.td_([C.label([T.for("title")])([E.text("title")])]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputText.value),T.id_("title"),H.class_("w-100 mv1"),T.name("title"),T.value(n.edit_bm.title),A.onValueChange(t(x.create))])])]),C.tr_([C.td_([C.label([T.for("description")])([E.text("description")])]),C.td_([C.textarea([H.class_("w-100 mt1 mid-gray"),T.id_("description"),T.name("description"),T.rows(4),T.value(n.edit_bm.description),A.onValueChange(t(k.create))])])]),C.tr_([C.td_([C.label([T.for("tags")])([E.text("tags")])]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputText.value),T.id_("tags"),H.class_("w-100 mv1"),T.name("tags"),T.autocomplete(!1),H.attr("autocapitalize")("off"),T.autofocus(!m.null(n.bm.url)),T.value(n.edit_bm.tags),A.onValueChange(t(O.create))])])]),C.tr_([C.td_([C.label([T.for("private")])([E.text("private")])]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputCheckbox.value),T.id_("private"),H.class_("private pointer"),T.name("private"),T.checked(n.edit_bm.private),A.onChecked(t(W.create))])])]),C.tr_([C.td_([C.label([T.for("toread")])([E.text("read later")])]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputCheckbox.value),T.id_("toread"),H.class_("toread pointer"),T.name("toread"),T.checked(n.edit_bm.toread),A.onChecked(t(R.create))])])]),C.tr_([C.td_([]),C.td_([C.input([T.type_(E.inputTypeIsProp)(u.InputSubmit.value),H.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),T.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),i=C.p([H.class_("red")])([E.text("you killed this bookmark")]);return C.div_([n.destroyed?i:a])},eval:function(n){if(n instanceof q)return r.discard(r.discardUnit)(F.bindHalogenM)(a.modify_(F.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(F.applicativeHalogenM)(n.value1)});if(n instanceof j)return r.bind(F.bindHalogenM)(a.gets(F.monadStateHalogenM)(function(n){return n.bm.bid}))(function(o){return r.discard(r.discardUnit)(F.bindHalogenM)(l.void(F.functorHalogenM)(h.liftAff(F.monadAffHalogenM(h.monadAffAff))(e.destroy(o))))(function(){return r.discard(r.discardUnit)(F.bindHalogenM)(a.modify_(F.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return t.pure(F.applicativeHalogenM)(n.value0)})})});if(n instanceof N)return r.discard(r.discardUnit)(F.bindHalogenM)(d.modifying(F.monadStateHalogenM)(V(v.strongFn))(function(){if(n.value0 instanceof U)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof x)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof 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 O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private: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 R)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 t.pure(F.applicativeHalogenM)(n.value1)});if(n instanceof B)return r.discard(r.discardUnit)(F.bindHalogenM)(w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(L.preventDefault(n.value0)))(function(){return r.bind(F.bindHalogenM)(c.use(F.monadStateHalogenM)(V(f.strongForget)))(function(a){return r.discard(r.discardUnit)(F.bindHalogenM)(l.void(F.functorHalogenM)(h.liftAff(F.monadAffHalogenM(h.monadAffAff))(e.editBookmark(a))))(function(){return r.discard(r.discardUnit)(F.bindHalogenM)(d.assign(F.monadStateHalogenM)(J(v.strongFn))(a))(function(){return r.bind(F.bindHalogenM)(w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(H._loc))(function(e){return r.bind(F.bindHalogenM)(w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(_.window))(function(a){return r.bind(F.bindHalogenM)(w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(H._curQuerystring))(function(o){return r.discard(r.discardUnit)(F.bindHalogenM)((u=H._lookupQueryStringValue(o)("next"))instanceof S.Just?w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(I.setHref(u.value0)(e)):w.liftEffect(F.monadEffectHalogenM(b.monadEffectAff))(y.closeWindow(a)))(function(){return t.pure(F.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:i.const(S.Nothing.value)})}}(PS["Component.Add"]=PS["Component.Add"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],o=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),u=PS["DOM.HTML.Indexed.InputType"],i=PS["Data.Array"],l=(PS["Data.Eq"],PS["Data.Foldable"]),c=PS["Data.Function"],f=PS["Data.Functor"],s=(PS["Data.HeytingAlgebra"],PS["Data.Lens"],PS["Data.Lens.Getter"]),d=PS["Data.Lens.Internal.Forget"],S=PS["Data.Lens.Lens"],P=PS["Data.Lens.Setter"],v=PS["Data.Maybe"],p=PS["Data.Monoid"],m=PS["Data.Nullable"],g=PS["Data.Profunctor.Strong"],D=PS["Data.Semigroup"],b=PS["Data.Show"],h=(PS["Data.String"],PS["Data.String.CodePoints"]),w=PS["Data.String.Common"],y=(PS["Data.String.Pattern"],PS["Data.Tuple"]),M=PS["Data.Unit"],E=PS["Effect.Aff"],C=PS["Effect.Aff.Class"],A=PS["Effect.Class"],T=PS.Globals,F=(PS.Halogen,PS["Halogen.Component"]),H=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),L=PS["Halogen.HTML.Elements"],_=PS["Halogen.HTML.Events"],I=PS["Halogen.HTML.Properties"],U=PS["Halogen.Query.HalogenM"],x=(PS.Model,PS.Prelude,PS.Util),k=PS["Web.Event.Event"],O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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,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,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),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){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(n){return S.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},Z=function(n){return S.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)},$=function(n){return S.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=j,n.BDeleteAsk=V,n.BDestroy=J,n.BEdit=Q,n.BEditField=G,n.BEditSubmit=z,n.BMarkRead=K,n.Eurl=O,n.Etitle=W,n.Edescription=R,n.Etags=N,n.Eprivate=B,n.Etoread=q,n.BNotifyRemove=X,n._bm=$,n._edit_bm=Y,n._edit=Z,n.bmark=function(n){var S,nn=T["app'"](M.unit);return F.component(H.bifunctorHTML)({initialState:c.const((S=n,{bm:S,edit_bm:S,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=p.guard(p.monoidArray)(nn.dat.isowner)([L.div([x.class_("star fl pointer"+p.guard(p.monoidString)(n.bm.selected)(" selected"))])([L.button([x.class_("moon-gray"),_.onClick(_.input_(j.create(!n.bm.selected)))])([H.text("✭")])])]),a=T.mmoment8601(n.bm.time),c=p.guard(p.monoidArray)(nn.dat.isowner)([L.div([x.class_("edit_links di")])([L.button([I.type_(H.buttonTypeIsProp)(o.ButtonButton.value),_.onClick(_.input_(Q.create(!0))),x.class_("edit light-silver hover-blue")])([H.text("edit  ")]),L.div([x.class_("delete_link di")])([L.button([I.type_(H.buttonTypeIsProp)(o.ButtonButton.value),_.onClick(_.input_(V.create(!0))),x.class_("delete light-silver hover-blue"+p.guard(p.monoidString)(n.deleteAsk)(" dn"))])([H.text("delete")]),L.span([x.class_("confirm red"+p.guard(p.monoidString)(!n.deleteAsk)(" dn"))])([L.button([I.type_(H.buttonTypeIsProp)(o.ButtonButton.value),_.onClick(_.input_(V.create(!1)))])([H.text("cancel / ")]),L.button([I.type_(H.buttonTypeIsProp)(o.ButtonButton.value),_.onClick(_.input_(J.create)),x.class_("red")])([H.text("destroy")])])])]),L.div([x.class_("read di")])(p.guard(p.monoidArray)(n.bm.toread)([H.text("  "),L.button([_.onClick(_.input_(K.create)),x.class_("mark_read")])([H.text("mark as read")])]))]),s=function(n){return x.fromNullableStr(nn.userR)+"/t:"+n},d=function(n){return function(e){return _.input(G.create)(n(e))}},S=[L.div([x.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([_.onSubmit(_.input(z.create))])([L.div_([H.text("url")]),L.input([I.type_(H.inputTypeIsProp)(u.InputUrl.value),x.class_("url w-100 mb2 pt1 f7 edit_form_input"),I.required(!0),I.name("url"),I.value(n.edit_bm.url),_.onValueChange(d(O.create))]),L.br_,L.div_([H.text("title")]),L.input([I.type_(H.inputTypeIsProp)(u.InputText.value),x.class_("title w-100 mb2 pt1 f7 edit_form_input"),I.name("title"),I.value(n.edit_bm.title),_.onValueChange(d(W.create))]),L.br_,L.div_([H.text("description")]),L.textarea([x.class_("description w-100 mb1 pt1 f7 edit_form_input"),I.name("description"),I.rows(5),I.value(n.edit_bm.description),_.onValueChange(d(R.create))]),L.br_,L.div([I.id_("tags_input_box")])([L.div_([H.text("tags")]),L.input([I.type_(H.inputTypeIsProp)(u.InputText.value),x.class_("tags w-100 mb1 pt1 f7 edit_form_input"),I.name("tags"),I.autocomplete(!1),x.attr("autocapitalize")("off"),I.value(n.edit_bm.tags),_.onValueChange(d(N.create))]),L.br_]),L.div([x.class_("edit_form_checkboxes mv3")])([L.input([I.type_(H.inputTypeIsProp)(u.InputCheckbox.value),x.class_("private pointer"),I.id_("edit_private"),I.name("private"),I.checked(n.edit_bm.private),_.onChecked(d(B.create))]),H.text(" "),L.label([I.for("edit_private"),x.class_("mr2")])([H.text("private")]),H.text(" "),L.input([I.type_(H.inputTypeIsProp)(u.InputCheckbox.value),x.class_("toread pointer"),I.id_("edit_toread"),I.name("toread"),I.checked(n.edit_bm.toread),_.onChecked(d(q.create))]),H.text(" "),L.label([I.for("edit_toread")])([H.text("to-read")]),L.br_]),L.input([I.type_(H.inputTypeIsProp)(u.InputSubmit.value),x.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),I.value("save")]),H.text(" "),L.input([I.type_(H.inputTypeIsProp)(u.InputReset.value),x.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),I.value("cancel"),_.onClick(_.input_(Q.create(!1)))])])])],P=[L.div([x.class_("display")])(D.append(D.semigroupArray)([L.a([I.href(n.bm.url),I.target("_blank"),x.class_("link f5 lh-title"+p.guard(p.monoidString)(n.bm.toread)(" unread"))])([H.text(w.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([I.href(n.bm.url),x.class_("link f7 gray hover-blue")])([H.text(n.bm.url)]),L.a([I.href(v.fromMaybe("http://archive.is/"+n.bm.url)(m.toMaybe(n.bm.archiveUrl))),x.class_("link f7 gray hover-blue ml2"+p.guard(p.monoidString)(v.isJust(m.toMaybe(n.bm.archiveUrl)))(" green")),I.target("_blank"),I.title("archive link")])([v.isJust(m.toMaybe(n.bm.archiveUrl))?H.text("☑"):H.text("☐")]),L.br_,L.div([x.class_("description mt1 mid-gray")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(p.monoidArray)(function(n){return[L.br_,H.text(n)]})(w.split("\n")(t))))),L.div([x.class_("tags")])(p.guard(p.monoidFn(p.monoidFn(p.monoidArray)))(!w.null(n.bm.tags))(f.map(f.functorArray))(function(n){return L.a([x.class_("link tag mr1"+p.guard(p.monoidString)("."===h.take(1)(n))(" private")),I.href(s(n))])([H.text(n)])})(w.split(" ")(n.bm.tags))),L.a([x.class_("link f7 dib gray w4"),I.title(v.maybe(n.bm.time)(y.snd)(a)),I.href((e=n.bm.slug,x.fromNullableStr(nn.userR)+"/b:"+e))])([H.text(v.maybe(" ")(y.fst)(a))])])(c))];return L.div([I.id_(b.show(b.showInt)(n.bm.bid)),x.class_("bookmark w-100 mw7 pa1 mb3"+p.guard(p.monoidString)(n.bm.private)(" private"))])(D.append(D.semigroupArray)(r)(n.edit?S:P))},eval:function(n){if(n instanceof j)return r.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)($(d.strongForget)))(function(a){return r.discard(r.discardUnit)(U.bindHalogenM)(C.liftAff(U.monadAffHalogenM(C.monadAffAff))(e.toggleStar(a.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(P.modifying(U.monadStateHalogenM)($(g.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.discard(r.discardUnit)(U.bindHalogenM)(P.modifying(U.monadStateHalogenM)(Y(g.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 t.pure(U.applicativeHalogenM)(n.value1)})})})});if(n instanceof V)return r.discard(r.discardUnit)(U.bindHalogenM)(a.modify_(U.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(U.applicativeHalogenM)(n.value1)});if(n instanceof J)return r.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)($(d.strongForget)))(function(a){return r.discard(r.discardUnit)(U.bindHalogenM)(f.void(U.functorHalogenM)(C.liftAff(U.monadAffHalogenM(C.monadAffAff))(e.destroy(a.bid))))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(U.raise(X.value))(function(){return t.pure(U.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return r.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)($(d.strongForget)))(function(a){return r.discard(r.discardUnit)(U.bindHalogenM)(f.void(U.functorHalogenM)(C.liftAff(U.monadAffHalogenM(C.monadAffAff))(e.markRead(a.bid))))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(P.modifying(U.monadStateHalogenM)($(g.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 t.pure(U.applicativeHalogenM)(n.value0)})})});if(n instanceof Q)return r.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)($(d.strongForget)))(function(e){return r.discard(r.discardUnit)(U.bindHalogenM)(P.assign(U.monadStateHalogenM)(Y(g.strongFn))(e))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(P.assign(U.monadStateHalogenM)(Z(g.strongFn))(n.value0))(function(){return t.pure(U.applicativeHalogenM)(n.value1)})})});if(n instanceof G)return r.discard(r.discardUnit)(U.bindHalogenM)(P.modifying(U.monadStateHalogenM)(Y(g.strongFn))(function(){if(n.value0 instanceof O)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)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 N)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 B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return t.pure(U.applicativeHalogenM)(n.value1)});if(n instanceof z)return r.discard(r.discardUnit)(U.bindHalogenM)(A.liftEffect(U.monadEffectHalogenM(E.monadEffectAff))(k.preventDefault(n.value0)))(function(){return r.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(Y(d.strongForget)))(function(a){return r.discard(r.discardUnit)(U.bindHalogenM)(f.void(U.functorHalogenM)(C.liftAff(U.monadAffHalogenM(C.monadAffAff))(e.editBookmark(a))))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(P.assign(U.monadStateHalogenM)($(g.strongFn))(a))(function(){return r.discard(r.discardUnit)(U.bindHalogenM)(P.assign(U.monadStateHalogenM)(Z(g.strongFn))(!1))(function(){return t.pure(U.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:c.const(v.Nothing.value)})}}(PS["Component.BMark"]=PS["Component.BMark"]||{}),function(n){"use strict";var e=PS["Component.BMark"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],o=PS["Data.Array"],u=(PS["Data.Eq"],PS["Data.Function"]),i=PS["Data.Functor"],l=PS["Data.Maybe"],c=PS["Data.Ord"],f=PS["Data.Unit"],s=(PS["Effect.Aff"],PS.Halogen,PS["Halogen.Component"]),d=PS["Halogen.HTML"],S=PS["Halogen.HTML.Elements"],P=PS["Halogen.HTML.Events"],v=PS["Halogen.Query.HalogenM"],p=(PS.Model,PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=p,n.blist=function(n){return s.parentComponent(c.ordInt)({initialState:u.const(n),render:function(n){return S.div_(i.map(i.functorArray)(function(n){return d.slot(n.bid)(e.bmark(n))(f.unit)(P.input(p.create(n.bid)))})(n))},eval:function(n){var e;return r.discard(r.discardUnit)(v.bindHalogenM)(a.modify_(v.monadStateHalogenM)((e=n.value0,o.filter(function(n){return n.bid!==e}))))(function(){return t.pure(v.applicativeHalogenM)(n.value2)})},receiver:u.const(l.Nothing.value)})}}(PS["Component.BList"]=PS["Component.BList"]||{}),(PS["Component.RawHtml"]=PS["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=PS["Component.RawHtml"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],o=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Maybe"]),i=(PS.Effect,PS["Effect.Aff"]),l=PS["Effect.Class"],c=(PS.Globals,PS.Halogen,PS["Halogen.Component"]),f=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),s=PS["Halogen.HTML.Elements"],d=PS["Halogen.HTML.Events"],S=PS["Halogen.HTML.Properties"],P=PS["Halogen.Query"],v=PS["Halogen.Query.HalogenM"],p=(PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=p,n.Receive=m,n.mkComponent=function(n){var g=function(u){if(u instanceof p)return r.bind(v.bindHalogenM)(a.get(v.monadStateHalogenM))(function(c){return r.bind(v.bindHalogenM)(P.getHTMLElementRef(c.elRef))(function(c){return r.discard(r.discardUnit)(v.bindHalogenM)(o.for_(v.applicativeHalogenM)(o.foldableMaybe)(c)(function(t){return r.bind(v.bindHalogenM)(a.get(v.monadStateHalogenM))(function(r){return l.liftEffect(v.monadEffectHalogenM(i.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return t.pure(v.applicativeHalogenM)(u.value0)})})});if(u instanceof m)return r.discard(r.discardUnit)(v.bindHalogenM)(a.modify_(v.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=u.value0,e}))(function(){return g(new p(u.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[u.constructor.name])};return c.lifecycleComponent(f.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return s.div([S.ref(n.elRef)])([])},eval:g,receiver:d.input(m.create),initializer:u.Just.create(P.action(p.create)),finalizer:u.Nothing.value})}}(PS["Component.RawHtml"]=PS["Component.RawHtml"]||{}),(PS["Foreign.Marked"]=PS["Foreign.Marked"]||{}).markedImpl=function(n){return marked.setOptions({pedantic:!1,gfm:!0}),marked(n)},function(n){"use strict";var e=PS["Foreign.Marked"],t=(PS["Control.Semigroupoid"],PS.Globals);PS.Prelude;n.marked=function(n){return t.RawHTML(e.markedImpl(n))}}(PS["Foreign.Marked"]=PS["Foreign.Marked"]||{}),function(n){"use strict";var e=PS["Component.RawHtml"],t=(PS["Effect.Aff"],PS["Foreign.Marked"]),r=(PS.Halogen,PS["Halogen.HTML"],e.mkComponent(t.marked));n.component=r}(PS["Component.Markdown"]=PS["Component.Markdown"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Data.Array"],r=PS["Data.Foldable"],a=PS["Data.Function"],o=PS["Data.Functor"],u=PS["Data.Maybe"],i=PS["Data.Monoid"],l=(PS["Data.Semigroup"],PS["Data.Show"]),c=(PS["Data.String"],PS["Data.String.CodePoints"]),f=PS["Data.String.Common"],s=(PS["Data.String.Pattern"],PS["Data.Tuple"]),d=PS["Data.Unit"],S=(PS["Effect.Aff"],PS.Globals),P=(PS.Halogen,PS["Halogen.Component"]),v=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),p=PS["Halogen.HTML.Elements"],m=PS["Halogen.HTML.Properties"],g=PS["Halogen.Query.HalogenM"],D=(PS.Model,PS.Prelude,PS.Util);n.nlist=function(n){var b,h=function(n){return S.mmoment8601(n.created)},w=S["app'"](d.unit),y=function(n){return D.fromNullableStr(w.userR)+"/notes/"+n};return P.component(v.bifunctorHTML)({initialState:a.const((b=n,{notes:b,cur:u.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return p.div_(o.map(o.functorArray)(function(n){return p.div([m.id_(l.show(l.showInt)(n.id)),D.class_("note w-100 mw7 pa1 mb2")])([p.div([D.class_("display")])([p.a([m.href(y(n.slug)),D.class_("link f5 lh-title")])([v.text(f.null(n.title)?"[no title]":n.title)]),p.br_,p.div([D.class_("description mt1 mid-gray")])((e=c.take(200)(n.text),t.drop(1)(r.foldMap(r.foldableArray)(i.monoidArray)(function(n){return[p.br_,v.text(n)]})(f.split("\n")(e))))),p.a([D.class_("link f7 dib gray w4"),m.title(u.maybe(n.created)(s.snd)(h(n))),m.href(y(n.slug))])([v.text(u.maybe(" ")(s.fst)(h(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(g.applicativeHalogenM)(n.value0)},receiver:a.const(u.Nothing.value)})}}(PS["Component.NList"]=PS["Component.NList"]||{}),function(n){"use strict";var e=PS.App,t=PS["Component.Markdown"],r=PS["Control.Applicative"],a=PS["Control.Bind"],o=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),i=PS["DOM.HTML.Indexed.InputType"],l=PS["Data.Array"],c=PS["Data.Either"],f=(PS["Data.Eq"],PS["Data.Foldable"]),s=PS["Data.Function"],d=PS["Data.Functor"],S=(PS["Data.HeytingAlgebra"],PS["Data.Lens"],PS["Data.Lens.Getter"]),P=PS["Data.Lens.Internal.Forget"],v=PS["Data.Lens.Lens"],p=PS["Data.Lens.Setter"],m=PS["Data.Maybe"],g=PS["Data.Monoid"],D=PS["Data.Ord"],b=PS["Data.Profunctor.Strong"],h=PS["Data.Semigroup"],w=PS["Data.Show"],y=(PS["Data.String"],PS["Data.String.Common"]),M=(PS["Data.String.Pattern"],PS["Data.Tuple"]),E=PS["Data.Unit"],C=PS["Data.Void"],A=PS.Effect,T=PS["Effect.Aff"],F=PS["Effect.Aff.Class"],H=PS["Effect.Class"],L=PS.Globals,_=(PS.Halogen,PS["Halogen.Component"]),I=PS["Halogen.HTML"],U=PS["Halogen.HTML.Core"],x=PS["Halogen.HTML.Elements"],k=PS["Halogen.HTML.Events"],O=PS["Halogen.HTML.Properties"],W=PS["Halogen.Query.HalogenM"],R=(PS.Model,PS.Prelude,PS.Util),N=PS["Web.Event.Event"],B=PS["Web.HTML.Location"],q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},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}(),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(n){return v.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)},Z=function(n){return v.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)},$=function(n){return v.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=J,n.NEditField=Q,n.NEditSubmit=G,n.NEdit=z,n.NDeleteAsk=K,n.NDestroy=X,n._note=Y,n._edit_note=Z,n._edit=$,n.Etitle=q,n.Etext=j,n.EisMarkdown=V,n.nnote=function(n){var v,nn=L["app'"](E.unit);return _.parentComponent(D.ordUnit)({initialState:s.const((v=n,{note:v,edit_note:v,deleteAsk:!1,edit:v.id<=0,destroyed:!1})),render:function(n){var e,r=function(n){return L.mmoment8601(n.created)},a=x.div([O.id_(w.show(w.showInt)(n.note.id)),R.class_("note w-100 mw7 pa1 mb2")])(h.append(h.semigroupArray)([x.div([R.class_("display")])([x.div([R.class_("link f5 lh-title")])([U.text(y.null(n.note.title)?"[no title]":n.note.title)]),x.br_,n.note.isMarkdown?x.div([R.class_("description mt1")])([I.slot(E.unit)(t.component)(n.note.text)(C.absurd)]):x.div([R.class_("description mt1 mid-gray")])((e=n.note.text,l.drop(1)(f.foldMap(f.foldableArray)(g.monoidArray)(function(n){return[x.br_,U.text(n)]})(y.split("\n")(e))))),x.div([R.class_("link f7 dib gray w4"),O.title(m.maybe(n.note.created)(M.snd)(r(n.note)))])([U.text(m.maybe(" ")(M.fst)(r(n.note)))])])])([x.div([R.class_("edit_links db mt3")])([x.button([O.type_(U.buttonTypeIsProp)(u.ButtonButton.value),k.onClick(k.input_(z.create(!0))),R.class_("edit light-silver hover-blue")])([U.text("edit  ")]),x.div([R.class_("delete_link di")])([x.button([O.type_(U.buttonTypeIsProp)(u.ButtonButton.value),k.onClick(k.input_(K.create(!0))),R.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),x.span([R.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([x.button([O.type_(U.buttonTypeIsProp)(u.ButtonButton.value),k.onClick(k.input_(K.create(!1)))])([U.text("cancel / ")]),x.button([O.type_(U.buttonTypeIsProp)(u.ButtonButton.value),k.onClick(k.input_(X.create)),R.class_("red")])([U.text("destroy")])])])])])),o=function(n){return function(e){return k.input(Q.create)(n(e))}},c=x.form([k.onSubmit(k.input(G.create))])([x.p([R.class_("mt2 mb1")])([U.text("title:")]),x.input([O.type_(U.inputTypeIsProp)(i.InputText.value),R.class_("title w-100 mb1 pt1 f7 edit_form_input"),O.name("title"),O.value(n.edit_note.title),k.onValueChange(o(q.create))]),x.br_,x.p([R.class_("mt2 mb1")])([U.text("description:")]),x.textarea([R.class_("description w-100 mb1 pt1 f7 edit_form_input"),O.name("text"),O.rows(30),O.value(n.edit_note.text),k.onValueChange(o(j.create))]),x.div([R.class_("edit_form_checkboxes mb3")])([x.input([O.type_(U.inputTypeIsProp)(i.InputCheckbox.value),R.class_("is-markdown pointer"),O.id_("edit_ismarkdown"),O.name("ismarkdown"),O.checked(n.edit_note.isMarkdown),k.onChecked(o(V.create))]),U.text(" "),x.label([O.for("edit_ismarkdown"),R.class_("mr2")])([U.text("use markdown?")]),x.br_]),x.input([O.type_(U.inputTypeIsProp)(i.InputSubmit.value),R.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),O.value("save")]),U.text(" "),x.input([O.type_(U.inputTypeIsProp)(i.InputReset.value),R.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),O.value("cancel"),k.onClick(k.input_(z.create(!1)))])]),s=x.p([R.class_("red")])([U.text("you killed this note")]);return n.destroyed?s:n.edit?c:a},eval:function(n){if(n instanceof J)return r.pure(W.applicativeHalogenM)(n.value0);if(n instanceof Q)return a.discard(a.discardUnit)(W.bindHalogenM)(p.modifying(W.monadStateHalogenM)(Z(b.strongFn))(function(){if(n.value0 instanceof q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return r.pure(W.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(W.bindHalogenM)(o.modify_(W.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(W.applicativeHalogenM)(n.value1)});if(n instanceof X)return a.bind(W.bindHalogenM)(S.use(W.monadStateHalogenM)(Y(P.strongForget)))(function(t){return a.discard(a.discardUnit)(W.bindHalogenM)(d.void(W.functorHalogenM)(F.liftAff(W.monadAffHalogenM(F.monadAffAff))(e.destroyNote(t.id))))(function(){return a.discard(a.discardUnit)(W.bindHalogenM)(o.modify_(W.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(W.applicativeHalogenM)(n.value0)})})});if(n instanceof z)return a.bind(W.bindHalogenM)(S.use(W.monadStateHalogenM)(Y(P.strongForget)))(function(e){return a.discard(a.discardUnit)(W.bindHalogenM)(p.assign(W.monadStateHalogenM)(Z(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(W.bindHalogenM)(p.assign(W.monadStateHalogenM)($(b.strongFn))(n.value0))(function(){return r.pure(W.applicativeHalogenM)(n.value1)})})});if(n instanceof G)return a.discard(a.discardUnit)(W.bindHalogenM)(H.liftEffect(W.monadEffectHalogenM(T.monadEffectAff))(N.preventDefault(n.value0)))(function(){return a.bind(W.bindHalogenM)(S.use(W.monadStateHalogenM)(Z(P.strongForget)))(function(t){return a.bind(W.bindHalogenM)(F.liftAff(W.monadAffHalogenM(F.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof c.Left)return r.pure(W.applicativeHalogenM)(n.value1);if(e.body instanceof c.Right)return a.discard(a.discardUnit)(W.bindHalogenM)(0===t.id?H.liftEffect(W.monadEffectHalogenM(T.monadEffectAff))(a.bindFlipped(A.bindEffect)(B.setHref(R.fromNullableStr(nn.noteR)))(R._loc)):a.discard(a.discardUnit)(W.bindHalogenM)(p.assign(W.monadStateHalogenM)(Y(b.strongFn))(t))(function(){return p.assign(W.monadStateHalogenM)($(b.strongFn))(!1)}))(function(){return r.pure(W.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:s.const(m.Nothing.value)})}}(PS["Component.NNote"]=PS["Component.NNote"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"];var e=PS["Effect.Aff"],t=(PS.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),r=new t(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=t,n.monadForkAff=r}(PS["Control.Monad.Fork.Class"]=PS["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(PS["Effect.Console"]=PS["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=PS["Effect.Console"];PS["Data.Show"],PS["Data.Unit"],PS.Effect;n.warn=e.warn}(PS["Effect.Console"]=PS["Effect.Console"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"]),r=(PS["Data.List"],PS["Data.List.Types"]),a=(PS["Data.Map"],PS["Data.Map.Internal"]),o=PS["Data.Maybe"],u=(PS["Data.Traversable"],PS.Effect,PS["Effect.Aff"],PS["Effect.Ref"]),i=(PS["Halogen.Component"],PS["Halogen.Data.OrdBox"],PS.Prelude,PS["Unsafe.Coerce"]),l=(PS["Web.DOM"],i.unsafeCoerce),c=i.unsafeCoerce,f=i.unsafeCoerce;n.unDriverStateX=c,n.mkDriverStateXRef=f,n.renderStateX=function(n){return function(n){return c(function(e){return(e.prjQuery,i.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return c(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=l,n.initDriverState=function(n){return function(e){return function(i){return function(l){return function(c){return function(){var s=u.new({})(),d=u.new(a.empty)(),S=u.new(a.empty)(),P=u.new(t.voidLeft(o.functorMaybe)(n.initializer)(r.Nil.value))(),v=u.new(new o.Just(r.Nil.value))(),p=u.new(o.Nothing.value)(),m=u.new(0)(),g=u.new(new o.Just(a.empty))(),D={component:n,state:n.initialState(e),refs:a.empty,children:a.empty,childrenIn:d,childrenOut:S,selfRef:s,handler:i,pendingQueries:P,pendingOuts:v,pendingHandlers:p,rendering:o.Nothing.value,prjQuery:l,fresh:m,subscriptions:g,lifecycleHandlers:c};return u.write(D)(s)(),f(s)}}}}}}}(PS["Halogen.Aff.Driver.State"]=PS["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=PS["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Applicative.Free"],r=PS["Control.Bind"],a=PS["Control.Coroutine"],o=PS["Control.Monad.Error.Class"],u=PS["Control.Monad.Fork.Class"],i=PS["Control.Monad.Free"],l=PS["Control.Monad.Free.Trans"],c=PS["Control.Monad.Trans.Class"],f=PS["Control.Parallel"],s=PS["Control.Parallel.Class"],d=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),S=PS["Data.Coyoneda"],P=PS["Data.Eq"],v=PS["Data.Foldable"],p=PS["Data.Function"],m=PS["Data.Functor"],g=PS["Data.List"],D=PS["Data.List.Types"],b=PS["Data.Map"],h=PS["Data.Map.Internal"],w=PS["Data.Maybe"],y=PS["Data.Ord"],M=(PS["Data.Semiring"],PS["Data.Set"]),E=(PS["Data.Tuple"],PS.Effect,PS["Effect.Aff"]),C=PS["Effect.Class"],A=PS["Effect.Exception"],T=PS["Effect.Ref"],F=PS["Halogen.Aff.Driver.State"],H=PS["Halogen.Data.OrdBox"],L=PS["Halogen.Query.EventSource"],_=PS["Halogen.Query.ForkF"],I=PS["Halogen.Query.HalogenM"],U=PS["Halogen.Query.InputF"],x=(PS.Prelude,PS["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(e)))(function(r){if(r instanceof w.Nothing)return n(t);if(r instanceof w.Just)return C.liftEffect(E.monadEffectAff)(T.write(new w.Just(new D.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])})}}},O=function(n){return function(t){return r.discard(r.discardUnit)(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.write({initializers:D.Nil.value,finalizers:D.Nil.value})(n)))(function(){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(t))(function(t){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(n)))(function(n){return r.discard(r.discardUnit)(E.bindAff)(v.traverse_(E.applicativeAff)(D.foldableList)(u.fork(u.monadForkAff))(n.finalizers))(function(){return r.discard(r.discardUnit)(E.bindAff)(f.parSequence_(E.parallelAff)(D.foldableList)(n.initializers))(function(){return e.pure(E.applicativeAff)(t)})})})})})}};n.handleLifecycle=O,n.eval=function(n){return function(f){var v=function(i){return function(f){if(f instanceof I.State)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(t){var a=f.value0(t.state);if(x.unsafeRefEq(t.state)(a.value1))return e.pure(E.applicativeAff)(a.value0);if(d.otherwise)return r.discard(r.discardUnit)(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.write({component:t.component,state:a.value1,refs:t.refs,children:t.children,childrenIn:t.childrenIn,childrenOut:t.childrenOut,selfRef:t.selfRef,handler:t.handler,pendingQueries:t.pendingQueries,pendingOuts:t.pendingOuts,pendingHandlers:t.pendingHandlers,rendering:t.rendering,prjQuery:t.prjQuery,fresh:t.fresh,subscriptions:t.subscriptions,lifecycleHandlers:t.lifecycleHandlers})(i)))(function(){return r.discard(r.discardUnit)(E.bindAff)(O(t.lifecycleHandlers)(n(t.lifecycleHandlers)(i)))(function(){return e.pure(E.applicativeAff)(a.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[a.constructor.name])});if(f instanceof I.Subscribe)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(n){return r.bind(E.bindAff)(u.fork(u.monadForkAff)(r.bind(E.bindAff)(L.unEventSource(f.value0))(function(t){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(o){var u=r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(n.subscriptions)))(function(t){return e.when(E.applicativeAff)(w.maybe(!1)(h.member(y.ordInt)(o))(t))(C.liftEffect(E.monadEffectAff)(T.modify_(m.map(w.functorMaybe)(h.delete(y.ordInt)(o)))(n.subscriptions)))});return r.discard(r.discardUnit)(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.modify_(m.map(w.functorMaybe)(h.insert(y.ordInt)(o)(u)))(n.subscriptions)))(function(){var o=r.bind(l.bindFreeT(a.functorAwait)(E.monadAff))(a.await(E.monadAff))(function(t){return r.bind(l.bindFreeT(a.functorAwait)(E.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(E.monadAff)(C.liftEffect(E.monadEffectAff)(T.read(n.subscriptions))))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(E.monadAff))(w.isJust(n))(r.bind(l.bindFreeT(a.functorAwait)(E.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(E.monadAff)(R(i)(t)))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(E.monadAff))(P.eq(L.eqSubscribeStatus)(n)(L.Listening.value))(o)}))})});return r.discard(r.discardUnit)(E.bindAff)(a.runProcess(E.monadRecAff)(a.pullFrom(E.monadRecAff)(o)(t.producer)))(function(){return u})})})})))(function(n){return e.pure(E.applicativeAff)(f.value1)})});if(f instanceof I.Lift)return f.value0;if(f instanceof I.Halt)return o.throwError(E.monadThrowAff)(A.error(f.value0));if(f instanceof I.GetSlots)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(n){return e.pure(E.applicativeAff)(f.value0(m.map(D.functorList)(H.unOrdBox)(g.fromFoldable(M.foldableSet)(b.keys(n.children)))))});if(f instanceof I.CheckSlot)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(n){return e.pure(E.applicativeAff)(f.value1(h.member(H.ordOrdBox)(n.component.mkOrdBox(f.value0))(n.children)))});if(f instanceof I.ChildQuery)return N(i)(f.value0)(f.value1);if(f instanceof I.Raise)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(n){return r.discard(r.discardUnit)(E.bindAff)(k(n.handler)(n.pendingOuts)(f.value0))(function(){return e.pure(E.applicativeAff)(f.value1)})});if(f instanceof I.Par)return s.sequential(E.parallelAff)(t.retractFreeAp(E.applicativeParAff)(t.hoistFreeAp(function(n){return s.parallel(E.parallelAff)(W(i)(n))})(f.value0)));if(f instanceof I.Fork)return _.unFork(function(n){return r.bind(E.bindAff)(u.fork(u.monadForkAff)(W(i)(n.value0)))(function(t){return e.pure(E.applicativeAff)(n.value1(p.flip(E.killFiber)(t)))})})(f.value0);if(f instanceof I.GetRef)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(i)))(function(n){return e.pure(E.applicativeAff)(f.value1(h.lookup(y.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[f.constructor.name])}},W=function(n){return function(e){return i.foldFree(E.monadRecAff)(v(n))(e)}},R=function(n){return function(e){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(n)))(function(t){var r=t.component.eval(e);return i.foldFree(E.monadRecAff)(v(n))(r)})}},N=function(n){return function(e){return S.unCoyoneda(function(t){return function(a){return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(n)))(function(n){var u=h.lookup(H.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(u instanceof w.Just)return r.bind(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.read(u.value0)))(function(n){return F.unDriverStateX(function(n){var e=n.prjQuery(a);if(e instanceof w.Just)return m.map(E.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof w.Nothing)return o.throwError(E.monadThrowAff)(A.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(u instanceof w.Nothing)return o.throwError(E.monadThrowAff)(A.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): "+[u.constructor.name])})}})}};return function(n){if(n instanceof U.RefUpdate)return r.discard(r.discardUnit)(E.bindAff)(C.liftEffect(E.monadEffectAff)(T.modify_(function(e){return{component:e.component,state:e.state,refs:h.alter(y.ordString)(p.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(f)))(function(){return e.pure(E.applicativeAff)(n.value2)});if(n instanceof U.Query)return R(f)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(PS["Halogen.Aff.Driver.Eval"]=PS["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Coroutine"],a=PS["Control.Monad.Fork.Class"],o=PS["Control.Monad.Rec.Class"],u=PS["Control.Parallel"],i=(PS["Control.Semigroupoid"],PS["Data.Either"]),l=PS["Data.Foldable"],c=PS["Data.Function"],f=PS["Data.Functor"],s=PS["Data.List"],d=PS["Data.List.Types"],S=(PS["Data.Map"],PS["Data.Map.Internal"]),P=PS["Data.Maybe"],v=PS["Data.Ord"],p=(PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unit"]),m=PS.Effect,g=PS["Effect.Aff"],D=PS["Effect.Aff.AVar"],b=PS["Effect.Class"],h=PS["Effect.Console"],w=PS["Effect.Exception"],y=PS["Effect.Ref"],M=(PS.Halogen,PS["Halogen.Aff.Driver.Eval"]),E=PS["Halogen.Aff.Driver.State"],C=PS["Halogen.Component"],A=PS["Halogen.Data.OrdBox"],T=PS["Halogen.Query.InputF"],F=(PS.Prelude,y.new({initializers:d.Nil.value,finalizers:d.Nil.value})),H=g.runAff_(i.either(w.throwException)(c.const(e.pure(m.applicativeEffect)(p.unit))));n.runUI=function(n){return function(L){return function(_){var I=function(n){return function(){var e=y.read(n)();return y.write(P.Nothing.value)(n)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(e)(function(n){return H(l.traverse_(g.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})()}},U=function(n){return function(e){return function(r){return function(a){return C.unComponent(function(o){return function(){var i=F(),c=E.initDriverState(o)(r)(e)(a)(i)(),S=y.read(n)();return y.write({initializers:d.Nil.value,finalizers:S.finalizers})(n)(),t.bindFlipped(m.bindEffect)(E.unDriverStateX(function(e){return x(n)(e.selfRef)}))(y.read(c))(),t.bindFlipped(m.bindEffect)(function(n){return function(e){return E.unDriverStateX(function(r){var a=f.map(P.functorMaybe)(function(n){return O(r.selfRef)(T.Query.create(n))})(r.component.initializer);return y.modify_(function(n){return{initializers:new d.Cons(t.discard(t.discardUnit)(g.bindAff)(u.parSequence_(g.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return t.discard(t.discardUnit)(g.bindAff)(l.sequence_(g.applicativeAff)(l.foldableMaybe)(a))(function(){return b.liftEffect(g.monadEffectAff)(function(){return I(r.pendingQueries)(),I(r.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(S.initializers))(y.read(c))(),c}})}}}},x=function(r){return function(u){return function(){var i=y.read(u)(),v=f.map(m.functorEffect)(P.isNothing)(y.read(i.pendingHandlers))();e.when(m.applicativeEffect)(v)(y.write(new P.Just(d.Nil.value))(i.pendingHandlers))(),y.write(S.empty)(i.childrenOut)(),y.write(i.children)(i.childrenIn)();var D=M.queuingHandler(function(n){return f.void(g.functorAff)(O(i.selfRef)(n))})(i.pendingHandlers),b=M.queuingHandler(function(n){return D(T.Query.create(n))})(i.pendingQueries),F=n.render(function(n){return H(D(n))})(function(r){return function(a){return function(o){return function(u){return function(i){return C.unComponentSlot(function(c){return function(s){return function(d){return function(v){return function(D){return function(b){var M=o(c);return function(){var o=y.read(u)(),c=function(){var n=S.pop(A.ordOrdBox)(M)(o);if(n instanceof P.Just)return y.write(n.value0.value1)(u)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(v(d))(function(e){return function(){var t=y.read(n.value0.value0)();return E.unDriverStateX(function(n){return l.for_(m.applicativeEffect)(l.foldableMaybe)(n.prjQuery(e))(function(e){return H(O(n.selfRef)(T.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof P.Nothing)return U(r)(function(n){return P.maybe(e.pure(g.applicativeAff)(p.unit))(a)(D(n))})(d)(b)(s)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),C=f.map(m.functorEffect)(S.member(A.ordOrdBox)(M))(y.read(i))();return e.when(m.applicativeEffect)(C)(h.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),y.modify_(S.insert(A.ordOrdBox)(M)(c))(i)(),t.bind(m.bindEffect)(y.read(c))(E.renderStateX(m.functorEffect)(function(t){if(t instanceof P.Nothing)return w.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof P.Just)return e.pure(m.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(r)(b)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=y.read(i.childrenOut)();return t.bind(m.bindEffect)(y.read(i.childrenIn))(l.traverse_(m.applicativeEffect)(S.foldableMap)(function(e){return function(){var t=y.read(e)();return E.renderStateX_(m.applicativeEffect)(n.removeChild)(t)(),k(r)(t)()}}))(),y.modify_(function(n){return{rendering:new P.Just(F),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(m.applicativeEffect)(v)(c.flip(o.tailRecM(o.monadRecEffect))(p.unit)(function(n){return function(){var n=y.read(i.pendingHandlers)();y.write(new P.Just(d.Nil.value))(i.pendingHandlers)(),l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(g.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})(n)();var e=y.read(i.pendingHandlers)();return P.maybe(!1)(s.null)(e)?f.voidLeft(m.functorEffect)(y.write(P.Nothing.value)(i.pendingHandlers))(new o.Done(p.unit))():new o.Loop(p.unit)}}))()}}},k=function(n){return E.unDriverStateX(function(e){return function(){var r;return(r=e,function(){return t.bindFlipped(m.bindEffect)(l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(g.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(n))}))(y.read(r.subscriptions))(),y.write(P.Nothing.value)(r.subscriptions)()})(),l.for_(m.applicativeEffect)(l.foldableMaybe)(f.map(P.functorMaybe)(function(n){return O(e.selfRef)(T.Query.create(n))})(e.component.finalizer))(function(e){return y.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(e,n.finalizers)}})(n)})(),l.for_(m.applicativeEffect)(S.foldableMap)(e.children)(t.composeKleisliFlipped(m.bindEffect)(k(n))(y.read))()}})},O=function(n){return M.eval(x)(n)};return t.bind(g.bindAff)(b.liftEffect(g.monadEffectAff)(F))(function(n){return t.bind(g.bindAff)(b.liftEffect(g.monadEffectAff)(y.new(0)))(function(o){return M.handleLifecycle(n)(function(){var u,c=y.new(S.empty)();return t.bind(m.bindEffect)(t.bind(m.bindEffect)(U(n)((u=c,function(n){return t.bind(g.bindAff)(b.liftEffect(g.monadEffectAff)(y.read(u)))(function(e){return l.traverse_(g.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(f.map(S.functorMap)(D.put(n))(e))})}))(_)(P.Just.create)(L))(y.read))(E.unDriverStateX(function(n){return e.pure(m.applicativeEffect)({query:(l=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof P.Just)return O(l)(new T.Query(t.value0));if(t instanceof P.Nothing)return b.liftEffect(g.monadEffectAff)(w.throwException(w.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(u=o,function(n){return function(e){return t.bind(g.bindAff)(D.empty)(function(o){return t.bind(g.bindAff)(b.liftEffect(g.monadEffectAff)(function(){var e=y.read(u)();return y.modify_(function(n){return n+1|0})(u)(),y.modify_(S.insert(v.ordInt)(e)(o))(n)(),e}))(function(u){var l=r.producer(g.monadAff)(f.map(g.functorAff)(i.Left.create)(D.take(o)));return f.void(g.functorAff)(a.fork(a.monadForkAff)(t.discard(t.discardUnit)(g.bindAff)(r.runProcess(g.monadRecAff)(r.connect(g.monadRecAff)(g.parallelAff)(l)(e)))(function(){return t.discard(t.discardUnit)(g.bindAff)(b.liftEffect(g.monadEffectAff)(y.modify_(S.delete(v.ordInt)(u))(n)))(function(){return D.kill(w.error("ended"))(o)})})))})})}})(c)});var u,l}))()})})})}}}}(PS["Halogen.Aff.Driver"]=PS["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=(PS["Control.Monad.Error.Class"],PS["Control.Semigroupoid"],PS["Data.Either"]),a=PS["Data.Function"],o=(PS["Data.Functor"],PS["Data.Maybe"]),u=PS["Data.Unit"],i=PS.Effect,l=PS["Effect.Aff"],c=PS["Effect.Class"],f=PS["Effect.Exception"],s=(PS.Prelude,PS["Web.DOM.ParentNode"]),d=(PS["Web.Event.EventTarget"],PS["Web.HTML"]),S=(PS["Web.HTML.Event.EventTypes"],PS["Web.HTML.HTMLDocument"]),P=(PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"]),v=PS["Web.HTML.Window"],p=l.runAff_(r.either(f.throwException)(a.const(e.pure(i.applicativeEffect)(u.unit))));n.selectElement=function(n){return t.bind(l.bindAff)(c.liftEffect(l.monadEffectAff)(t.bindFlipped(i.bindEffect)(t.composeKleisliFlipped(i.bindEffect)(function(e){return s.querySelector(n)(S.toParentNode(e))})(v.document))(d.window)))(function(n){return e.pure(l.applicativeAff)(t.bindFlipped(o.bindMaybe)(P.fromElement)(n))})},n.runHalogenAff=p}(PS["Halogen.Aff.Util"]=PS["Halogen.Aff.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e,t=PS["Data.Array"],r=(PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],o=PS["Data.Tuple"],u=PS.Effect,i=(PS["Effect.Uncurried"],PS["Halogen.VDom.Machine"]),l=PS["Halogen.VDom.Types"],c=PS["Halogen.VDom.Util"],f=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.DOM.Element"]),s=(PS["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof r.Just&&e.value0 instanceof r.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof r.Nothing&&e.value0 instanceof r.Nothing)}),d=(e=function(n,t){return function(r){if(r instanceof l.Grafted)return e(n,t)(l.runGraft(r.value0));if(r instanceof l.Widget){var a=t.value1(r.value0);return new i.Step(a.value0,e(n,a),a.value2)}return t.value2(),n(r)}},function(n,t,r){var a=n.buildWidget(n)(r);return new i.Step(a.value0,e(t,a),a.value2)}),S=function(){var n=function(e,t,r,a){return function(o){if(o instanceof l.Grafted)return n(e,t,r,a)(l.runGraft(o.value0));if(o instanceof l.Text){var u=new i.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(c.setTextContent(o.value0,r),u)}return t(),e(o)}};return function(e,t,r){var a,o=c.createTextNode(r,e.document),u=(a=o,function(){var n=c.parentNode(a);return c.removeChild(a,n)});return new i.Step(o,n(t,u,o,r),u)}}(),P=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),c.forInE(t,function(n,e){return e.value2()}),i.halt(e)()}},e=function(r,a,u,f,d,S,P){return function(v){if(v instanceof l.Grafted)return e(r,a,u,f,d,S,P)(l.runGraft(v.value0));if(v instanceof l.Keyed&&s(d,v.value0)){var p=t.length(v.value1);if(0===P&&0===p){var m=i.step(f)(v.value0.value2),g=n(u,m,S);return new i.Step(u,e(r,g,u,m,v.value0,S,0),g)}m=c.diffWithKeyAndIxE(S,v.value1,o.fst,function(n,e,t,r){var a=t.value1(r.value1);return c.insertChildIx(e,a.value0,u),a},function(n,e){return e.value2()},function(n,e,t){var a=r(t.value1);return c.insertChildIx(e,a.value0,u),a});var D=i.step(f)(v.value0.value2);g=n(u,D,m);return new i.Step(u,e(r,g,u,D,v.value0,m,p),g)}return a(),r(v)}};return function(r,u,l,s){var d=c.createElement(a.toNullable(l.value0),l.value1,r.document),S=f.toNode(d),P=c.strMapWithIxE(s,o.fst,function(n,e,t){var r=u(t.value1);return c.insertChildIx(e,r.value0,S),r}),v=r.buildAttributes(d)(l.value2),p=n(S,v,P);return new i.Step(S,e(u,p,S,v,l,P,t.length(s)),p)}}(),v=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),u.foreachE(t)(i.halt)(),i.halt(e)()}},e=function(r,a,o,u,f,d){return function(S){if(S instanceof l.Grafted)return e(r,a,o,u,f,d)(l.runGraft(S.value0));if(S instanceof l.Elem&&s(f,S.value0)){var P=t.length(S.value1);if(0===t.length(d)&&0===P){var v=i.step(u)(S.value0.value2),p=n(o,v,d);return new i.Step(o,e(r,p,o,v,S.value0,d),p)}v=c.diffWithIxE(d,S.value1,function(n,e,t){var r=e.value1(t);return c.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,o),t});var m=i.step(u)(S.value0.value2);p=n(o,m,v);return new i.Step(o,e(r,p,o,m,S.value0,v),p)}return a(),r(S)}};return function(t,r,o,u){var l=c.createElement(a.toNullable(o.value0),o.value1,t.document),s=f.toNode(l),d=c.forE(u,function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,s),t}),S=t.buildAttributes(l)(o.value2),P=n(s,S,d);return new i.Step(s,e(r,P,s,S,o,d),P)}}();n.buildVDom=function(n){var e=function(t){if(t instanceof l.Text)return S(n,e,t.value0);if(t instanceof l.Elem)return v(n,e,t.value0,t.value1);if(t instanceof l.Keyed)return P(n,e,t.value0,t.value1);if(t instanceof l.Widget)return d(n,e,t.value0);if(t instanceof l.Grafted)return e(l.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])};return e},n.buildText=S,n.buildElem=v,n.buildKeyed=P,n.buildWidget=d}(PS["Halogen.VDom.DOM"]=PS["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Category"],a=PS["Data.Foldable"],o=(PS["Data.Function"],PS["Data.Functor"]),u=PS["Data.HeytingAlgebra"],i=PS["Data.Maybe"],l=PS["Data.Unit"],c=PS.Effect,f=PS["Effect.Aff"],s=PS["Effect.Class"],d=PS["Effect.Ref"],S=(PS["Effect.Uncurried"],PS["Halogen.Aff.Driver"]),P=PS["Halogen.Aff.Driver.State"],v=(PS["Halogen.Component"],PS["Halogen.HTML.Core"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.DOM"]),p=PS["Halogen.VDom.DOM.Prop"],m=PS["Halogen.VDom.Machine"],g=(PS.Prelude,PS["Unsafe.Reference"]),D=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"]),b=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],y=PS["Web.HTML.Window"],M=function(n){return function(){var e=D.parentNode(n.node)();return a.traverse_(c.applicativeEffect)(a.foldableMaybe)(function(e){return D.removeChild(n.node)(e)})(e)()}},E=function(n){return function(t){return{render:function(r){return function(a){return function(f){return function(s){if(s instanceof i.Nothing)return function(){var u=d.new(a)(),i=function(n){return function(t){return function(r){var a=P.unRenderStateX(function(n){return n.node}),o=e.pure(c.applicativeEffect)(l.unit),u=function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,u,o)};return{buildWidget:function(n){return function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,u,o)}},buildAttributes:p.buildProp(n),document:r}}}}(r)(u)(n),s=v.buildVDom(i)(f),S=m.extract(s);return o.void(c.functorEffect)(D.appendChild(S)(w.toNode(t)))(),{machine:s,node:S,renderChildRef:u}};if(s instanceof i.Just)return function(){d.write(a)(s.value0.renderChildRef)();var n=D.parentNode(s.value0.node)(),t=D.nextSibling(s.value0.node)(),r=m.step(s.value0.machine)(f),S=m.extract(r);return e.when(c.applicativeEffect)(u.not(u.heytingAlgebraFunction(u.heytingAlgebraFunction(u.heytingAlgebraBoolean)))(g.unsafeRefEq)(s.value0.node)(S))(function(n){return function(t){return function(r){return t instanceof i.Just&&r instanceof i.Just?o.void(c.functorEffect)(D.insertBefore(n)(t.value0)(r.value0)):t instanceof i.Nothing&&r instanceof i.Just?o.void(c.functorEffect)(D.appendChild(n)(r.value0)):e.pure(c.applicativeEffect)(l.unit)}}}(S)(t)(n))(),{machine:r,node:S,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:r.identity(r.categoryFn),removeChild:M}}};n.runUI=function(n){return function(e){return function(r){return t.bind(f.bindAff)(s.liftEffect(f.monadEffectAff)(o.map(c.functorEffect)(h.toDocument)(t.bindFlipped(c.bindEffect)(y.document)(b.window))))(function(t){return S.runUI(E(t)(r))(n)(e)})}}}}(PS["Halogen.VDom.Driver"]=PS["Halogen.VDom.Driver"]||{}),function(n){"use strict";var e=PS.App,t=PS["Component.AccountSettings"],r=PS["Component.Add"],a=PS["Component.BList"],o=PS["Component.NList"],u=PS["Component.NNote"],i=PS["Control.Applicative"],l=PS["Control.Bind"],c=(PS["Control.Semigroupoid"],PS["Data.Foldable"]),f=(PS["Data.Function"],PS["Data.Functor"]),s=PS["Data.Unit"],d=PS.Effect,S=PS["Effect.Aff"],P=PS["Effect.Class"],v=(PS["Halogen.Aff"],PS["Halogen.Aff.Util"]),p=PS["Halogen.VDom.Driver"],m=(PS.Model,PS.Prelude,PS["Web.DOM.Element"]),g=(PS["Web.DOM.ParentNode"],PS["Web.Event.Event"]),D=PS["Web.HTML.HTMLElement"],b=l.bind(S.bindAff)(v.selectElement(".user_footer"))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return P.liftEffect(S.monadEffectAff)(m.removeAttribute("hidden")(D.toElement(n)))})),h=i.pure(d.applicativeEffect)(s.unit);n.main=h,n.logoutE=function(n){return l.bindFlipped(d.bindEffect)(function(n){return f.void(d.functorEffect)(S.launchAff(e.logout(n)))})(g.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return v.runHalogenAff(l.bind(S.bindAff)(v.selectElement(n))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return l.discard(l.discardUnit)(S.bindAff)(f.void(S.functorAff)(p.runUI(a.blist(e))(s.unit)(n)))(function(){return b})})))}},n.renderAddForm=function(n){return function(e){return v.runHalogenAff(l.bind(S.bindAff)(v.selectElement(n))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return p.runUI(r.addbmark(e))(s.unit)(n)})))}},n.renderNotes=function(n){return function(e){return v.runHalogenAff(l.bind(S.bindAff)(v.selectElement(n))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return l.discard(l.discardUnit)(S.bindAff)(f.void(S.functorAff)(p.runUI(o.nlist(e))(s.unit)(n)))(function(){return b})})))}},n.renderNote=function(n){return function(e){return v.runHalogenAff(l.bind(S.bindAff)(v.selectElement(n))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return f.void(S.functorAff)(p.runUI(u.nnote(e))(s.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return v.runHalogenAff(l.bind(S.bindAff)(v.selectElement(n))(c.traverse_(S.applicativeAff)(c.foldableMaybe)(function(n){return f.void(S.functorAff)(p.runUI(t.usetting(e))(s.unit)(n))})))}},n.showFooter=b}(PS.Main=PS.Main||{}),PS.Main.main(); \ No newline at end of file +parcelRequire=function(e,r,n,t){var i="function"==typeof parcelRequire&&parcelRequire,o="function"==typeof require&&require;function u(n,t){if(!r[n]){if(!e[n]){var f="function"==typeof parcelRequire&&parcelRequire;if(!t&&f)return f(n,!0);if(i)return i(n,!0);if(o&&"string"==typeof n)return o(n);var c=new Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[n][1][r]||r},p.cache={};var l=r[n]=new u.Module(n);e[n][0].call(l.exports,p,l,l.exports,this)}return r[n].exports;function p(e){return u(p.resolve(e))}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=r,u.parent=i,u.register=function(r,n){e[r]=[function(e,r){r.exports=n},{}]};for(var f=0;f>>0,s=0;s0)for(n=0;n<_.length;n++)r(i=t[s=_[n]])||(e[s]=i);return e}var g=!1;function v(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,n.updateOffset(this),g=!1)}function p(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function w(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function M(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=w(t)),n}function k(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([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,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function I(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return L(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(e){var t,n,s,i=e.match(N);for(t=0,n=i.length;t=0&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var Z=/\d/,z=/\d\d/,$=/\d{3}/,q=/\d{4}/,J=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[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,oe={};function ue(e,t,n){oe[e]=b(t)?t:function(e,s){return e&&n?n:t}}function le(e,t){return l(oe,e)?oe[e](t._strict,t._locale):new RegExp(he(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function he(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var de={};function ce(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),a(t)&&(s=function(e,n){n[t]=M(e)}),n=0;n68?1900:2e3)};var Oe,Te=be("FullYear",!0);function be(e,t){return function(s){return null!=s?(Pe(this,e,s),n.updateOffset(this,t),this):xe(this,e)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Pe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Ye(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),We(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function We(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?Ye(e)?29:28:31-s%7%2}Oe=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ee(e,t,n){var s=7+t-n;return-((7+Ve(e,0,s).getUTCDay()-t)%7)+s-1}function Ie(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ee(e,s,i);return o<=0?a=De(r=e-1)+o:o>De(e)?(r=e+1,a=o-De(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ae(e,t,n){var s,i,r=Ee(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+je(i=e.year()-1,t,n):a>je(e.year(),t,n)?(s=a-je(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function je(e,t,n){var s=Ee(e,t,n),i=Ee(e+1,t,n);return(De(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=M(e)});function Ze(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:c(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=M(e)});var ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var $e="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var qe="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var Je=ae;var Be=ae;var Qe=ae;function Xe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Ke(){return this.hours()%12||12}function et(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function tt(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Ke),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Ke.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Ke.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),et("a",!0),et("A",!1),C("hour","h"),F("hour",13),ue("a",tt),ue("A",tt),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ve),ce(["k","kk"],function(e,t,n){var s=M(e);t[ve]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ve]=M(e),c(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ve]=M(e.substr(0,s)),t[pe]=M(e.substr(s)),c(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ve]=M(e.substr(0,s)),t[pe]=M(e.substr(s,2)),t[we]=M(e.substr(i)),c(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ve]=M(e.substr(0,s)),t[pe]=M(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ve]=M(e.substr(0,s)),t[pe]=M(e.substr(s,2)),t[we]=M(e.substr(i))});var nt,st=be("Hours",!0),it={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:Re,week:{dow:0,doy:6},weekdays:ze,weekdaysMin:qe,weekdaysShort:$e,meridiemParse:/[ap]\.?m?\.?/i},rt={},at={};function ot(e){return e?e.toLowerCase().replace("_","-"):e}function ut(e){var t=null;if(!rt[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=nt._abbr,require("./locale/"+e),lt(t)}catch(n){}return rt[e]}function lt(e,t){var n;return e&&((n=r(t)?dt(e):ht(e,t))?nt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ht(e,t){if(null!==t){var n,s=it;if(t.abbr=e,null!=rt[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=rt[e]._config;else if(null!=t.parentLocale)if(null!=rt[t.parentLocale])s=rt[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return at[t.parentLocale]||(at[t.parentLocale]=[]),at[t.parentLocale].push({name:e,config:t}),null;s=n._config}return rt[e]=new P(x(s,t)),at[e]&&at[e].forEach(function(e){ht(e.name,e.config)}),lt(e),rt[e]}return delete rt[e],null}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!s(e)){if(t=ut(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r0;){if(s=ut(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&k(i,n,!0)>=t-1)break;t--}r++}return nt}(e)}function ct(e){var t,n=e._a;return n&&-2===c(e).overflow&&(t=n[ye]<0||n[ye]>11?ye:n[ge]<1||n[ge]>We(n[_e],n[ye])?ge:n[ve]<0||n[ve]>24||24===n[ve]&&(0!==n[pe]||0!==n[we]||0!==n[Me])?ve:n[pe]<0||n[pe]>59?pe:n[we]<0||n[we]>59?we:n[Me]<0||n[Me]>999?Me:-1,c(e)._overflowDayOfYear&&(t<_e||t>ge)&&(t=ge),c(e)._overflowWeeks&&-1===t&&(t=ke),c(e)._overflowWeekday&&-1===t&&(t=Se),c(e).overflow=t),e}function ft(e,t,n){return null!=e?e:null!=t?t:n}function mt(e){var t,s,i,r,a,o=[];if(!e._d){for(i=function(e){var t=new Date(n.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ge]&&null==e._a[ye]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ft(t.GG,e._a[_e],Ae(xt(),1,4).year),s=ft(t.W,1),((i=ft(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Ae(xt(),r,a);n=ft(t.gg,e._a[_e],l.year),s=ft(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>je(n,r,a)?c(e)._overflowWeeks=!0:null!=u?c(e)._overflowWeekday=!0:(o=Ie(n,s,i,r,a),e._a[_e]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(a=ft(e._a[_e],i[_e]),(e._dayOfYear>De(a)||0===e._dayOfYear)&&(c(e)._overflowDayOfYear=!0),s=Ve(a,0,e._dayOfYear),e._a[ye]=s.getUTCMonth(),e._a[ge]=s.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&0===e._a[Me]&&(e._nextDay=!0,e._a[ve]=0),e._d=(e._useUTC?Ve:function(e,t,n,s,i,r,a){var o;return e<100&&e>=0?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ve]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(c(e).weekdayMismatch=!0)}}var _t=/^\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)?)?$/,yt=/^\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)?)?$/,gt=/Z|[+-]\d\d(?::?\d\d)?/,vt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],pt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],wt=/^\/?Date\((\-?\d+)/i;function Mt(e){var t,n,s,i,r,a,o=e._i,u=_t.exec(o)||yt.exec(o);if(u){for(c(e).iso=!0,t=0,n=vt.length;t0&&c(e).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),E[r]?(s?c(e).empty=!1:c(e).unusedTokens.push(r),me(r,s,e)):e._strict&&!s&&c(e).unusedTokens.push(r);c(e).charsLeftOver=u-l,o.length>0&&c(e).unusedInput.push(o),e._a[ve]<=12&&!0===c(e).bigHour&&e._a[ve]>0&&(c(e).bigHour=void 0),c(e).parsedDateParts=e._a.slice(0),c(e).meridiem=e._meridiem,e._a[ve]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(e._locale,e._a[ve],e._meridiem),mt(e),ct(e)}else Yt(e);else Mt(e)}function Tt(e){var t=e._i,l=e._f;return e._locale=e._locale||dt(e._l),null===t||void 0===l&&""===t?m({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),p(t)?new v(ct(t)):(o(t)?e._d=t:s(l)?function(e){var t,n,s,i,r;if(0===e._f.length)return c(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis?this:e:m()});function Ct(e,t){var n,i;if(1===t.length&&s(t[0])&&(t=t[0]),!t.length)return xt();for(n=t[0],i=1;i=0?new Date(e+400,t,n)-an:new Date(e,t,n).valueOf()}function ln(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-an:Date.UTC(e,t,n)}function hn(e,t){I(0,[e,e.length],0,t)}function dn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:(t>(r=je(e,s,i))&&(t=r),function(e,t,n,s,i){var r=Ie(e,t,n,s,i),a=Ve(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),hn("gggg","weekYear"),hn("ggggg","weekYear"),hn("GGGG","isoWeekYear"),hn("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,z),ue("gg",B,z),ue("GGGG",ee,q),ue("gggg",ee,q),ue("GGGGG",te,J),ue("ggggg",te,J),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=M(e)}),fe(["gg","GG"],function(e,t,s,i){t[i]=n.parseTwoDigitYear(e)}),I("Q",0,"Qo","quarter"),C("quarter","Q"),F("quarter",7),ue("Q",Z),ce("Q",function(e,t){t[ye]=3*(M(e)-1)}),I("D",["DD",2],"Do","date"),C("date","D"),F("date",9),ue("D",B),ue("DD",B,z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ge),ce("Do",function(e,t){t[ge]=M(e.match(B)[0])});var cn=be("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),F("dayOfYear",4),ue("DDD",K),ue("DDDD",$),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=M(e)}),I("m",["mm",2],0,"minute"),C("minute","m"),F("minute",14),ue("m",B),ue("mm",B,z),ce(["m","mm"],pe);var fn=be("Minutes",!1);I("s",["ss",2],0,"second"),C("second","s"),F("second",15),ue("s",B),ue("ss",B,z),ce(["s","ss"],we);var mn,_n=be("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),F("millisecond",16),ue("S",K,Z),ue("SS",K,z),ue("SSS",K,$),mn="SSSS";mn.length<=9;mn+="S")ue(mn,ne);function yn(e,t){t[Me]=M(1e3*("0."+e))}for(mn="S";mn.length<=9;mn+="S")ce(mn,yn);var gn=be("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var vn=v.prototype;function pn(e){return e}vn.add=Bt,vn.calendar=function(e,t){var s=e||xt(),i=Vt(s,this).startOf("day"),r=n.calendarFormat(this,i)||"sameElse",a=t&&(b(t[r])?t[r].call(this,s):t[r]);return this.format(a||this.localeData().calendar(r,this,xt(s)))},vn.clone=function(){return new v(this)},vn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Vt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=H(t)){case"year":r=Xt(this,s)/12;break;case"month":r=Xt(this,s);break;case"quarter":r=Xt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:w(r)},vn.endOf=function(e){var t;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;var s=this._isUTC?ln:un;switch(e){case"year":t=s(this.year()+1,0,1)-1;break;case"quarter":t=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=s(this.year(),this.month()+1,1)-1;break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=rn-on(t+(this._isUTC?0:this.utcOffset()*sn),rn)-1;break;case"minute":t=this._d.valueOf(),t+=sn-on(t,sn)-1;break;case"second":t=this._d.valueOf(),t+=nn-on(t,nn)-1}return this._d.setTime(t),n.updateOffset(this,!0),this},vn.format=function(e){e||(e=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var t=A(this,e);return this.localeData().postformat(t)},vn.from=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||xt(e).isValid())?Zt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},vn.fromNow=function(e){return this.from(xt(),e)},vn.to=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||xt(e).isValid())?Zt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},vn.toNow=function(e){return this.to(xt(),e)},vn.get=function(e){return b(this[e=H(e)])?this[e]():this},vn.invalidAt=function(){return c(this).overflow},vn.isAfter=function(e,t){var n=p(e)?e:xt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):b(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},vn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},vn.toJSON=function(){return this.isValid()?this.toISOString():null},vn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},vn.unix=function(){return Math.floor(this.valueOf()/1e3)},vn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},vn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},vn.year=Te,vn.isLeapYear=function(){return Ye(this.year())},vn.weekYear=function(e){return dn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},vn.isoWeekYear=function(e){return dn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},vn.quarter=vn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},vn.month=Fe,vn.daysInMonth=function(){return We(this.year(),this.month())},vn.week=vn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},vn.isoWeek=vn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},vn.weeksInYear=function(){var e=this.localeData()._week;return je(this.year(),e.dow,e.doy)},vn.isoWeeksInYear=function(){return je(this.year(),1,4)},vn.date=cn,vn.day=vn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},vn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},vn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},vn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},vn.hour=vn.hours=st,vn.minute=vn.minutes=fn,vn.second=vn.seconds=_n,vn.millisecond=vn.milliseconds=gn,vn.utcOffset=function(e,t,s){var i,r=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Gt(re,e)))return this}else Math.abs(e)<16&&!s&&(e*=60);return!this._isUTC&&t&&(i=Et(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==e&&(!t||this._changeInProgress?Jt(this,Zt(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Et(this)},vn.utc=function(e){return this.utcOffset(0,e)},vn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Et(this),"m")),this},vn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Gt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},vn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?xt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},vn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},vn.isLocal=function(){return!!this.isValid()&&!this._isUTC},vn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},vn.isUtc=It,vn.isUTC=It,vn.zoneAbbr=function(){return this._isUTC?"UTC":""},vn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},vn.dates=D("dates accessor is deprecated. Use date instead.",cn),vn.months=D("months accessor is deprecated. Use month instead",Fe),vn.years=D("years accessor is deprecated. Use year instead",Te),vn.zone=D("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),vn.isDSTShifted=D("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),(e=Tt(e))._a){var t=e._isUTC?d(e._a):xt(e._a);this._isDSTShifted=this.isValid()&&k(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var wn=P.prototype;function Mn(e,t,n,s){var i=dt(),r=d().set(s,t);return i[n](r,e)}function kn(e,t,n){if(a(e)&&(t=e,e=void 0),e=e||"",null!=t)return Mn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=Mn(e,s,n,"month");return i}function Sn(e,t,n,s){"boolean"==typeof e?(a(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,a(t)&&(n=t,t=void 0),t=t||"");var i,r=dt(),o=e?r._week.dow:0;if(null!=n)return Mn(t,(n+o)%7,s,"day");var u=[];for(i=0;i<7;i++)u[i]=Mn(t,(i+o)%7,s,"day");return u}wn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return b(s)?s.call(t,n):s},wn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},wn.invalidDate=function(){return this._invalidDate},wn.ordinal=function(e){return this._ordinal.replace("%d",e)},wn.preparse=pn,wn.postformat=pn,wn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return b(i)?i(e,t,n,s):i.replace(/%d/i,e)},wn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return b(n)?n(t):n.replace(/%s/i,t)},wn.set=function(e){var t,n;for(n in e)b(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},wn.months=function(e,t){return e?s(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ce).test(t)?"format":"standalone"][e.month()]:s(this._months)?this._months:this._months.standalone},wn.monthsShort=function(e,t){return e?s(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ce.test(t)?"format":"standalone"][e.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},wn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=d([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Oe.call(this._shortMonthsParse,a))?i:null:-1!==(i=Oe.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Oe.call(this._shortMonthsParse,a))?i:-1!==(i=Oe.call(this._longMonthsParse,a))?i:null:-1!==(i=Oe.call(this._longMonthsParse,a))?i:-1!==(i=Oe.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=d([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},wn.monthsRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ge.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=Ne),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},wn.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ge.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Le),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},wn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},wn.firstDayOfYear=function(){return this._week.doy},wn.firstDayOfWeek=function(){return this._week.dow},wn.weekdays=function(e,t){var n=s(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ze(n,this._week.dow):e?n[e.day()]:n},wn.weekdaysMin=function(e){return!0===e?Ze(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},wn.weekdaysShort=function(e){return!0===e?Ze(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},wn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=d([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Oe.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Oe.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Oe.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Oe.call(this._weekdaysParse,a))?i:-1!==(i=Oe.call(this._shortWeekdaysParse,a))?i:-1!==(i=Oe.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Oe.call(this._shortWeekdaysParse,a))?i:-1!==(i=Oe.call(this._weekdaysParse,a))?i:-1!==(i=Oe.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Oe.call(this._minWeekdaysParse,a))?i:-1!==(i=Oe.call(this._weekdaysParse,a))?i:-1!==(i=Oe.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=d([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},wn.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Je),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},wn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Be),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},wn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},wn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},wn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},lt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===M(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=D("moment.lang is deprecated. Use moment.locale instead.",lt),n.langData=D("moment.langData is deprecated. Use moment.localeData instead.",dt);var Dn=Math.abs;function Yn(e,t,n,s){var i=Zt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function On(e){return e<0?Math.floor(e):Math.ceil(e)}function Tn(e){return 4800*e/146097}function bn(e){return 146097*e/4800}function xn(e){return function(){return this.as(e)}}var Pn=xn("ms"),Wn=xn("s"),Cn=xn("m"),Hn=xn("h"),Rn=xn("d"),Un=xn("w"),Fn=xn("M"),Ln=xn("Q"),Nn=xn("y");function Gn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Vn=Gn("milliseconds"),En=Gn("seconds"),In=Gn("minutes"),An=Gn("hours"),jn=Gn("days"),Zn=Gn("months"),zn=Gn("years");var $n=Math.round,qn={ss:44,s:45,m:45,h:22,d:26,M:11};var Jn=Math.abs;function Bn(e){return(e>0)-(e<0)||+e}function Qn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Jn(this._milliseconds)/1e3,s=Jn(this._days),i=Jn(this._months);e=w(n/60),t=w(e/60),n%=60,e%=60;var r=w(i/12),a=i%=12,o=s,u=t,l=e,h=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var c=d<0?"-":"",f=Bn(this._months)!==Bn(d)?"-":"",m=Bn(this._days)!==Bn(d)?"-":"",_=Bn(this._milliseconds)!==Bn(d)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||h?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(h?_+h+"S":"")}var Xn=Rt.prototype;return Xn.isValid=function(){return this._isValid},Xn.abs=function(){var e=this._data;return this._milliseconds=Dn(this._milliseconds),this._days=Dn(this._days),this._months=Dn(this._months),e.milliseconds=Dn(e.milliseconds),e.seconds=Dn(e.seconds),e.minutes=Dn(e.minutes),e.hours=Dn(e.hours),e.months=Dn(e.months),e.years=Dn(e.years),this},Xn.add=function(e,t){return Yn(this,e,t,1)},Xn.subtract=function(e,t){return Yn(this,e,t,-1)},Xn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=H(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+Tn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(bn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},Xn.asMilliseconds=Pn,Xn.asSeconds=Wn,Xn.asMinutes=Cn,Xn.asHours=Hn,Xn.asDays=Rn,Xn.asWeeks=Un,Xn.asMonths=Fn,Xn.asQuarters=Ln,Xn.asYears=Nn,Xn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*M(this._months/12):NaN},Xn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*On(bn(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=w(r/1e3),u.seconds=e%60,t=w(e/60),u.minutes=t%60,n=w(t/60),u.hours=n%24,a+=w(n/24),o+=i=w(Tn(a)),a-=On(bn(i)),s=w(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},Xn.clone=function(){return Zt(this)},Xn.get=function(e){return e=H(e),this.isValid()?this[e+"s"]():NaN},Xn.milliseconds=Vn,Xn.seconds=En,Xn.minutes=In,Xn.hours=An,Xn.days=jn,Xn.weeks=function(){return w(this.days()/7)},Xn.months=Zn,Xn.years=zn,Xn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var s=Zt(e).abs(),i=$n(s.as("s")),r=$n(s.as("m")),a=$n(s.as("h")),o=$n(s.as("d")),u=$n(s.as("M")),l=$n(s.as("y")),h=i<=qn.ss&&["s",i]||i0,h[4]=n,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,h)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Xn.toISOString=Qn,Xn.toString=Qn,Xn.toJSON=Qn,Xn.locale=Kt,Xn.localeData=tn,Xn.toIsoString=D("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qn),Xn.lang=en,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(M(e))}),n.version="2.24.0",e=xt,n.fn=vn,n.min=function(){return Ct("isBefore",[].slice.call(arguments,0))},n.max=function(){return Ct("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=d,n.unix=function(e){return xt(1e3*e)},n.months=function(e,t){return kn(e,t,"months")},n.isDate=o,n.locale=lt,n.invalid=m,n.duration=Zt,n.isMoment=p,n.weekdays=function(e,t,n){return Sn(e,t,n,"weekdays")},n.parseZone=function(){return xt.apply(null,arguments).parseZone()},n.localeData=dt,n.isDuration=Ut,n.monthsShort=function(e,t){return kn(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return Sn(e,t,n,"weekdaysMin")},n.defineLocale=ht,n.updateLocale=function(e,t){if(null!=t){var n,s,i=it;null!=(s=ut(e))&&(i=s._config),(n=new P(t=x(i,t))).parentLocale=rt[e],rt[e]=n,lt(e)}else null!=rt[e]&&(null!=rt[e].parentLocale?rt[e]=rt[e].parentLocale:null!=rt[e]&&delete rt[e]);return rt[e]},n.locales=function(){return Y(rt)},n.weekdaysShort=function(e,t,n){return Sn(e,t,n,"weekdaysShort")},n.normalizeUnits=H,n.relativeTimeRounding=function(e){return void 0===e?$n:"function"==typeof e&&($n=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==qn[e]&&(void 0===t?qn[e]:(qn[e]=t,"s"===e&&(qn.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=vn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},n}); +},{}],"3F7m":[function(require,module,exports) { +var define; +var global = arguments[3]; +var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:m,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:m,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function r(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||y.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.options.tables?this.rules=n.tables:this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=c(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=c(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=c(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=c(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=c(n.paragraph).replace("hr",n.hr).replace("heading",n.heading).replace("lheading",n.lheading).replace("tag",n._tag).getRegex(),n.blockquote=c(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=b({},n),n.gfm=b({},n.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),n.gfm.paragraph=c(n.paragraph).replace("(?!","(?!"+n.gfm.fences.source.replace("\\1","\\2")+"|"+n.list.source.replace("\\1","\\3")+"|").getRegex(),n.tables=b({},n.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=b({},n.normal,{html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),r.rules=n,r.lex=function(e,t){return new r(t).lex(e)},r.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},r.prototype.token=function(e,t){var r,s,i,l,o,a,h,p,u,c,g,f,d,m,b,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:x(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),h={type:"list_start",ordered:m=(l=i[2]).length>1,start:m?+l:"",loose:!1},this.tokens.push(h),p=[],r=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==l)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),s=r||/\n\n(?!\s*$)/.test(a),g!==d-1&&(r="\n"===a.charAt(a.length-1),s||(s=r)),s&&(h.loose=!0),y=void 0,(b=/^\[[ xX]\] /.test(a))&&(y=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),u={type:"list_item_start",task:b,checked:y,loose:s},p.push(u),this.tokens.push(u),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(h.loose)for(d=p.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])[\s\S]*?(?=[\\?@\\[^_{|}~",s.em=c(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=c(s.autolink).replace("scheme",s._scheme).replace("email",s._email).getRegex(),s._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,s.tag=c(s.tag).replace("comment",n._comment).replace("attribute",s._attribute).getRegex(),s._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,s._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f\\]*\)|[^\s\x00-\x1f()\\])*?)/,s._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,s.link=c(s.link).replace("label",s._label).replace("href",s._href).replace("title",s._title).getRegex(),s.reflink=c(s.reflink).replace("label",s._label).getRegex(),s.normal=b({},s),s.pedantic=b({},s.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",s._label).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",s._label).getRegex()}),s.gfm=b({},s.normal,{escape:c(s.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:c(s.text).replace("]|","~]|").replace("|$","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|$").getRegex()}),s.gfm.url=c(s.gfm.url,"i").replace("email",s.gfm._extended_email).getRegex(),s.breaks=b({},s.gfm,{br:c(s.br).replace("{2,}","*").getRegex(),text:c(s.gfm.text).replace("{2,}","*").getRegex()}),i.rules=s,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,s,l,o,a="";e;)if(l=this.rules.escape.exec(e))e=e.substring(l[0].length),a+=p(l[1]);else if(l=this.rules.tag.exec(e))!this.inLink&&/^/i.test(l[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(l[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(l[0])&&(this.inRawBlock=!1),e=e.substring(l[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0];else if(l=this.rules.link.exec(e))e=e.substring(l[0].length),this.inLink=!0,r=l[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=l[3]?l[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(l,{href:i.escapes(r),title:i.escapes(s)}),this.inLink=!1;else if((l=this.rules.reflink.exec(e))||(l=this.rules.nolink.exec(e))){if(e=e.substring(l[0].length),t=(l[2]||l[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=l[0].charAt(0),e=l[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(l,t),this.inLink=!1}else if(l=this.rules.strong.exec(e))e=e.substring(l[0].length),a+=this.renderer.strong(this.output(l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.em.exec(e))e=e.substring(l[0].length),a+=this.renderer.em(this.output(l[6]||l[5]||l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.code.exec(e))e=e.substring(l[0].length),a+=this.renderer.codespan(p(l[2].trim(),!0));else if(l=this.rules.br.exec(e))e=e.substring(l[0].length),a+=this.renderer.br();else if(l=this.rules.del.exec(e))e=e.substring(l[0].length),a+=this.renderer.del(this.output(l[1]));else if(l=this.rules.autolink.exec(e))e=e.substring(l[0].length),r="@"===l[2]?"mailto:"+(n=p(this.mangle(l[1]))):n=p(l[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(l=this.rules.url.exec(e))){if(l=this.rules.text.exec(e))e=e.substring(l[0].length),this.inRawBlock?a+=this.renderer.text(l[0]):a+=this.renderer.text(p(this.smartypants(l[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===l[2])r="mailto:"+(n=p(l[0]));else{do{o=l[0],l[0]=this.rules._backpedal.exec(l[0])[0]}while(o!==l[0]);n=p(l[0]),r="www."===l[1]?"http://"+n:n}e=e.substring(l[0].length),a+=this.renderer.link(r,null,n)}return a},i.escapes=function(e){return e?e.replace(i.rules._escapes,"$1"):e},i.prototype.outputLink=function(e,t){var n=t.href,r=t.title?p(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,p(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},l.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var s=this.options.highlight(e,r);null!=s&&s!==e&&(n=!0,e=s)}return r?'
'+(n?e:p(e,!0))+"
\n":"
"+(n?e:p(e,!0))+"
"},l.prototype.blockquote=function(e){return"
\n"+e+"
\n"},l.prototype.html=function(e){return e},l.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},l.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},l.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},l.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},l.prototype.checkbox=function(e){return" "},l.prototype.paragraph=function(e){return"

    "+e+"

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

    "+p(u.message+"",!0)+"
    ";throw u}}m.exec=m,y.options=y.setOptions=function(e){return b(y.defaults,e),y},y.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new l,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},y.defaults=y.getDefaults(),y.Parser=a,y.parser=a.parse,y.Renderer=l,y.TextRenderer=o,y.Lexer=r,y.lexer=r.lex,y.InlineLexer=i,y.inlineLexer=i.output,y.Slugger=h,y.parse=y,"undefined"!=typeof module&&"object"==typeof exports?module.exports=y:"function"==typeof e&&e.amd?e(function(){return y}):t.marked=y}(this||("undefined"!=typeof window?window:t)); +},{}],"pBGv":[function(require,module,exports) { + +var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(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 7af1b4b74902c65ce734e1a05bc525427ec093f0..2c621911c9cf1f965e7cede469f75b6d416438c1 100644 GIT binary patch literal 73671 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 R(VBj__z(ViiIOt-1OSS!P^SO@ literal 48163 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 fB^)jBGz2=$|1wU8KOhCC64w78BZj4K`O5>> 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 diff --git a/static/js/app.min.map.gz b/static/js/app.min.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..d48f6908bc8347f2a68123c3ef96c51e087916bb GIT binary patch literal 233105 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%0AZyQZt1zWeW4#xqL87GtSlk2#O@IK?lZd2M<+$# z0O~|3%1^}mDRv)nGJAEl$ryc3 z3aiijYQ3jvsV?&D^MN-vLyzg=CuRp75Cklf=->eJ%rI4X?>JNY$Y;uHpL?M2$sjSF z3m3d8T1HTnS%f)PoGy}W%`)VDvBA9r&>ftLQIU8IgRBeS7x5!{8M4?vPx|r*9eb-*1xmup#$oe)Ub3FcP z5`7*$=|QW1&L)Lgj(Ai}&QrEM6|F`sXg=x0Y$TEe>)r%7zC=5lv7Rl_?< z*GE{hvZ971O;7F8zR2zb^r|Pzn8|F~6L0bMKv+7?#LaNu!bnPd z3NZIGVC;rTWcu4My7%Ztm&`JSSE<`cnU2o{8+a>&GdojWv8d#1uidLy6+N{ohIvUo zez=kaZ$xRLLXyz79-P+gyXIXc$CB9&F?bz_ZHYp(*%8h3X+3%`Q7NssBH}s6&E}WC z@mpKRfs`*lx07i$9IK31`hci$of}kc9v$h8xb6=>r~r>3F`Reb+CQH}NvlssQuiHm ze8YB=Jbqktqp6nWvtwoLz%qu)pDV2rsD{-Qbm_(z5R=-KDCDhA+d0DP*q>MK1 z&K^dt2+_8jJ2yG4ra*`@(KgnM5DO7hycEm$NP~$7GJZ1lA|N$k85{Lmd~rDd#VpVO zd=daO-x3r$K>71w@@-Ig(lUM@>o?tZJ8@9o5fx!&F&D{5R zol!QQSg$jQr>B8Q6cwq-@<=5hb&9y8)$@9;absrq$iVC_eoKSsE$?R&SV?5fY;$90(s4Mu{S80grlS>`j_yY}=qmeMso<9m%vXuCgs^=wB;{abj;~0dyY#dA$>X+Z6@NJ!( zZa!0bpCX9{nF@oWMhw? zYKf;{3jjHBln7+sJg+0HN~n-j&=IOElJD-XteTZhr z(RR16T>@wd4`&n*Q4`;O<0txbc6K`3+l_XztOufF&E&EfMUji?LOf)Z1%7}}XaDWt z+qa!3MiGNPq6K{LWf4Lr(57v-MZe$u6mGlM@Hp0=e%jfwhi7#qgjGTz#CJ9TtY3ye zrO(S(d+bq;cI$lAQ3|(ncL-<%j1hYq?2>|X0M|anJ7tX2w}6kc_1let58+u_yiUPd zW#UPu6DB~RORPs(&z`LhhwEk8-Gz^+3I1ER{u~^1aVhjY%>w=mClUsYVe3>>>$;eDsi5xD~(5B%=d)CH>SHMuyc z-YsTt|OHWF@kkKXrF2rVc-3(u{yG`Z~}^W3PeI zTscmA5%*R6Xc9*quR;Thr;$(`O|w~1a==e)UISwqNg_L2qdjws8tcz9eu8ryXh`Ty zFHP;J=F}~$I?jGBD!dn_LK?f@3`VD*qvIzz8Z@o(b0ah|m98XTWcXzzC*lTCw0OxP z6eL!n)u!qaCj}2>xFPM*F7Rk1B1wj>s)K!>-{-(t?# zz>98n-zwLam#0NBD7$$!J?R#c)8(`2aIic%>0!~olo{=*ox9z;dg~UMv}NP5W2YEh z?#;5xw^{#k?`(GYbdq20rqj#a*{IcqO}uPvHA!-9uYGF4&*tCL(dEHPAM$$(Ys6;# zxOe%(&fewzlgB%+5BGPs5BFM^&HbN$JH$Uim>++ zZ1^s2e(4*Wt?4h?i*OcQsL)q76oIdv1Tx7=RKQrGD}H7p*riA4mZ&cEvA82S#KO3A z#Y3e{**v!(zgRSyHf5_jzlMTE zUBZ8G3h=Ui;jBB$_9L3hBKfOj^W}huDYtyKOK9L|s%i53&pF~<#BoT&hhAmiyRJ84 zobZVKAsyv|L7M!1m#hSZHK7=?5j`$EhH+!XWZhr-a1I_`ZsJ-cEXcwNa);4?j-lEEMwY6uqkIWCHOi)wQxv!6bidSS~gUuOtKS}7w2eI zf zzV(7)(J{>0Dx_AUZMH_cJ;z<2e1;O1@l#19j5>0`gLXfg-U{Q!eWyC~z52Gg60j*X z?W`=TD$9;aH7s^5bq)KXdde$(;HY);cBRu&NU?}|3@AE42h-?sV4|yB4YWl&3Qt}a zdKHBAdt#TYHt#aG>m^Za-w*IM#~eJQHFZ{|H?UIW=GzCcC4bjspMGq9**X!w9cF8hwP5U`_{BHI;=(92Ajln!2I}c|5>jKuBLX zo6zPMg${s=(^38#B#WU%(g#8i3qeMpA!86&gS-ZCX_VxBjb;SzN~XY;6ON|AQEEkX zlWdTu=zo#+CPi72Q^)b7I4{ZE1ok6ggjIHvmr#Xh%`!HHSE#%Xnm7?^8vVTN!Fe@3 zg-$3ZkYjur4UaZ`>L>;WfHMw1sP(SELpa8m%(}^I`ipxY#^x&=-1Q>eyem7{MlZ&V zAvfvJ6#;&sY1~=Viat@-A&wE@=2{O8l8q=CEc@-R7Kq`M9>jQA=}b zwR}1a_Tj1Y5#cCFNcLz&0zmkRG_47Aq8?EE>v6E%#!0%Q3z`cbe;&usGKH-PR{?73*?{3t^P@Z z3oM0y+B>ki)}zOTVt0GFbMU9=+I5^Q{2BepwnV1f<1E$ zs?drx2wW`*x8u~ITbNZXj0sQsE^YTsUJhunMj`x5x`o`gRdB8!2Un$Uivrg~1cGx# zptfHFevA>rH8x*I_29;~5>1Y@=H|&}7 z@W@Yt)ZhSJt7U<6fKf|O%ojAG2|+(sAQGf1#>5nhc`LA~z_bz1E&Rlm+H5qF)rco4 z8E1`7O0eLsc!1NkpeK@|y_-c3l}kBajV zlZ-!`C;Ba~r()+Q_X#$B(KU|(swPA7y_oJPFacG!VAXTZT!1H?`c!ku(|#YX8}|x2 zdg9JtEsl_Cw0eHrsC-8yza;$i*U7DUqj}9P#-d)Lxqlzk*!VO868LPyEfL=iFlLAHfx0f2FgzNyQPRH^AG6qt&%Da$~>- z(9008@jlp0R@cIEg>>g35YKUJ?sGbuyzhGjUG$6eUBA_%9DZWmj-lZBNBQA3nR{y! zpi~Abuk&h<@qCsnFOxQ`u|I>Y9gaXUGayYVuPF)hH2?T^l8&49{@->>w7r^b#ex?3 zTrY10VTQN~oj)CE+i9ST0i?X=Wivbjtn&5H*LkQBjOaW#7{Hl$+@xQGb)ZmlTtpV$ zA+jo>ojDOG0!5lm_reNiQ4n8Ui`Iea0#7SIjpY~I3>?i+b+TUs4t$kX@dH?%L8eN% zOPl)n*uW@BjJGV5xOl6O+WwpYl#$tqg;%4qn9v%Ov+=kP$APmHWSDSp!tlh0wS2~5 zl206P%(G6F<@{r1G^_|2O2dx-n6ez1^f)W0JETcyy9&^bxNLlCaxu)K-w+zEM^>70$etn&M^paxtBwdn9q&9r4#Tx*ni9J?_MZ#~1vg z`TM7s%;E=UskE@t6)14mlel^zmx1+OBYVC)XF!4FKf5I%XDSlmioV9kDn zZxA=Sru59V&tkc>O=Qq)n*rqKJ;!SQk5m90#4(|>Zki=sHV6+5!R*pjM z3{l6Ljp((gbb{|4B-^`t?kJUAU@6VjcGBp3_LXL3b&dhrWGp&bRxjgmoP_2prc^wU zJE-FDfhjbe#&8mV;Pl%cD$lAc1L6yex6GuTG+f7hPq(okBH@&S|mSDaAXv zLPIidt1~9HYM-Mf#ZBmItcko7qD5sld=Vsu?IlG+h+%`>j9)L*yS^)aMkji{<^Lk) z0feP`|EJC5)dbHh@=@m#;bwsh|kro;RBJ6!F>xtp4 zq!*(47%qyG9p|Zhg-jHa9vY|l^lWxaRtIc?AphiLIm^oB)q87q4Y2|ZSsw8&$0OjM z;d|!M72)|S{k6dcp$Y04+qRvI=h+kKuxO;K$>uK`A#U$TsLkFyX_lyY4k3qveYtl>lJ} ziYv&)LI2cFtq~>r@({4drve?5l#I0#La$+&>u| zHmPwfoHN>pQ1t}6rNYFWXG;^bMawX>7{|tzlW;QPs5pQi9hEsgyshE{D?F-l_Inj( zDaV-(eoR3G=TcLN-|A%b$=Vx=Nk0=-FZ&JD0^-}|zs}MLx2i!3LHvT= zNBFm&Uf>^82U0$%1MwT51UO9{3>w-bOZ5N_iQ?5%CO-SBl*k%ehL57)LTqF$_)r;Zq&grlc#9Zift|d(*VQCBXS>K zB*p-pdY=x8bn3Mor)XM`Kdqe;ZLc@BHG{%cYg|H}YzCzgg?_afTy!L8I41Nl!Ci;} z5lkYWuUHl4wW5ztLM2W4_OQp2)J=f0R1Dq?sPc{y7r8)b77}(gKeQMg!)D~ zp)x{`5-7tt;d-qkCIc!WJh?#0z>5JbTpdvuCwi zlhf8E>-SQ4Ebb($+1+Fbt6Q}~hMR+YC%K>9(?EuUragUkbT<8iEN_OFnNGSCJx~t4 zdq4Yztm8ivFi0oJ$gse;0N$9;%?&*uhVOZlwRIP3-+%j^HI#pYa~2-4iW7SXfj4F7 z`LT9SbRmUfS$=YoQN&a_5u_F(B;Rv`b$hPS3hTc1@7L?j#b?9e#~VLRYz&nK(r83VknHlf8Pg z^Js7H`O6=?9*MZs(wAyz`j>3OGH}6GJ6S{Xb~Ru@ z&{pzS^pXcqbAmjQW#DGxXFMFNtJ`dqOz90<|MBR}t}&k}^2F2ZBTo<^VnURXbp^+)0Y48lKxg%vyO2)+@EtpUR{_xF z2cmo>X>VD@PnAJfVYBnkci|3Z6X_KaaTzYPM~#RoB^+x+@tDJKsSE+4ciYrOR-?8$e&0^?jbggS2hsLz#j%cH5 z{|=1GAg1K>g%I)Lp5Qu;b_fRT)hKzIPqLHZV;3Z21pUh?cOS`46qAo4r;gOV;C15| zILGqpci*mhORi%GDMJzY!EQs7!j^o4qR;9#fhG0q)vNzD`8a9l)hI}3Zd7l9)Q)03 zJp`pzAOH_%Q@o&2x_T*qk2qQ@F1zAhyOUzN+&u&mpE4?4m3Ln4 zJbAfi_5v%UnHMoj=}uyp!6AV4OZ@JSRdrjQ1Qe1K4mmxVH1&)*9f9aYlW*4VuCA}$ zPnK5h!nv)}+1FCnTAS)?9d|uvOwKn| z^l+O?swTtO&8CuHh&{xjL;fkEvUnSdEyEv)p8;s#I~y#=Q-^N z+T{+=(@;Udh5Dl@>ehm-34_P)9qTj%6wLwY`EY z7~=zJPNlA7CD4<(H3=iL>Pa(b#*d;=uMrlw;&k%H)Te^^T$wOQ`KcM8-+4SQ5b07+ zapj<~tGg6JBEwbncBM0Ds(@f_J`3@!qs2g0%K+r5Nvks^1IX=PpbOeq5rVlpj?o<~ zP$zW4d{ir8ZhG}uJWI<*gZy-q_0iASk|Vu&tSRV4!tW6lOFr2O9hMCyfp6`GG(Jt2 zo4~FpT8t`L)&x~u9i$h~<+JH-`T=9;;C>yvnQm4RX-injN!1G9-8NV3F1QBB^^kmH zA<-BrFGRdv?VjZ)csBA^NV%B9~!c{VbwD*biZD~8x?GNvmDb6Z#+PC2{^u9t^3 zV#fv>5Li;--7hpZAz~5RTyz)Jo!v^T1H!u1mJsS6)oaJ~&@YVr3V88B4eQiFy5dM} z=&-o^y8H6UUh=M_mwZ(uLi3?K{j8CG(g@!%x;!{oYHi_@1P2HGJFWe0a>y?tEVT{} z*7*xP(+v(a zWFmzY(rk#7jxNqod7%|67_M(Np`|!1`uR!Dx;QqiB5Nv+w?LlgA|}rIUTcjV~Oud#(ny6AxGK?PLD8Hd0J39% zuz`akGKHnddH!E!7d|%9nGIlmV;Bd%JJieZMZhoq{uAMHIkY`I|Sb0;1bgMp5g+xwI_Qt72`cCG_gWjt_pf z0{q+uzgGd?_rbrZ06+7=?^l2ieeiE9z)K(eI|*KEY5;~ndB63*t8*@fkwY(fHi{-K zelgMRkoEYae{eTy0$O0Vmj;=yH&6g-AXzFHw2hb+R$72Z^9H5;G`5A|U@x=Yd{uI%0KA%=Y=Ch7^Zt-Q}x_L!%;W9SDI{bsC$BgsD3GLy^SESh*hP$uBbeY_E5U zExTj74;9{ezHN)ID43`jCG_(NzZBU{5LZYY zqs?Z3L${N0HpvS=xR*Hdwv*{_?DT(mIVY~l1|Qm`5Lq%R+Xg8<@qmW#iR+X_-d9wi zdQOFI&zYw!iME7~Y0~q1H-{>+CU&oFIEZ6Vc}z>t*ilr{R(9T&>$rMlLVJ*#2(Ubt zQ=`+h-=UD7#;$n2bH2MdFpmxoTh{NO@$%4no+22bdpHIngNfR}e~`$jK^x*PYCygD z@$M42q!8-phj9}Fo5&KTty3+Y{G&E>C8?NHEt^%^G{?VT92DZO{f6LE^KUg4JpCDL=eVkGXUxrum_^V{AR z!79F56=?C!v|-jm31mu&(^IPwbB;s4^rp?K_-Wd#TC`KE!YC=?Ct#JqG>!cs$9G9A z4tC2A8zX$uXVcmUFhU<>DW*c69&+v2pdEyjd4|7(X*%&3EvEbFL>IYJIDaJMDnbs@a*8gMRgfzZ za67%If?JhU&w*P*I1%fx3hrA8CmLw7f>0tm z)|4TUOan9?Sgf@bzka3>4qwa}K^V>Z-q7V9owL*h3HrSI2CLL?>Dul3EeJP-pmTzE z#PMV0XxufL}3)3OsL8$dA)x;G&>RUzNoa*3Y8T> zoYVnTt{Co3xQ_S~^Lgz*b9|jSesHZhwk8vnePAkU)KE3U)AKBYgCA;D(HlU_a+@z2 z%KSq<^>03@J~YNMXPor1$PF>wo^Mv!+8rbudxeQ%T97F~;gp8tx}<__3MB6p*CQWe zEJ&lLe=v^rVdg~rCP04*Lor?w}iID1MzKItjgp?P0OgvM7380 z>M~lR^Q*Z3E*^_N6Jv1SSHQ#_U+eY1l3ifAD=`c)O3B>fZr$^?3VcvVBA3xOcjzUe z8qBF47eZosHJK++*tSDh#(|aMk|bv^P|wpx{~%8^Urtv(ws}aKfrYMBtLi3RNfS2Prqs37 zY;n95t0k4|+JY?4bG#~V`c!})azEo3Wb69CK!yv0b4fyuq!2w~x{ zW%JNfVURJ3qxfwVxG?lh z5Lpx>o*p9z;g2FTME>3VdsW!spS62%%F9mC?66Dq93wB} zZRcmjAlp$`V4#}E`f4z>?gdfz2D$o{F_qt4=>e)fX2Th1*Qj?^;5FWABAyQsDN8cN zv9}P}n}FWD^0QkiV-J>|N`i~8wS_OK#}$vU;ao*1oQfzur+Vy;(FE^ihRj4!E6A^U zlhF{uI(118L8DPfkb2BSYvxNLHJiQk1)9C46JwOWyi9g7Y$k(CD*upC0GYO26!-(D z%gXhZPRH*bH?Ac^npst|l1i*q^_*AZC-`)Bb~@YJd(WP&4~Oez`Lh%-14YolI$Uc1 z=R>XAQfqWtu=`AfRkoZl);TpB*{IQyYNZOQ%*J9~#e|J;bP zhiUPA_myzoLI0?L27CeW#1E7rzfy2Z8Wvp($8fZrA?fA^Z$SWd%kDZPkw1%b2}Rch zk|Ck`7!~sJ_rv6S_(abdG=Aa)ga(Bs)j2-er{A;GZ-36 zinFS0b-Knx1h17wOyqQ>I#glvfP?<)o0X4nYAUCA3px`H_`+$vmj>M6pqEu4OKHrf z1;>0fo8^a~o)^Jd#g27OQ%k-JkJv@Y^3twU8|7edC3ngo(R&cO(vz!V&gahfocY$) z0(b6+dhh7KH)pe9inax5KgGZiPW;2-L`UWz2}Dob9kP}}qo)jqFrBhDz$u1Opdl8; zIOJW5&p+>#;$vj zOajn(+HLJe+IzNQoBetyBR+}FWtMTX(>ALQ+`IbsPUE7STGvw*LxU<{aZf2C=Irul z2EC1|o%NbJ;MJ7esgbHM5R9>!LodhJI%F(aLn-JOw){RV*2VoA_Gz6e{-lH>V~_x6 zml$vUTh_c~cX}aZzcuE95AhaRN0)}Jd|8|)&G@ies{p{8_LXcBYtlztdu|*~Q3QC&@T1>7iKp(9`?uqD{gcM*2c=TE)7`l=-zPFQd42ljIfJ z3Y_O?wJA%h#wi3Ga#Bo(!UD`IN9mSdJZU; z_d)NitQ`IH=g6ftMr7r_f|z%Qz(@0rxI?0~res3r&LzL>;#; zU{vm5oI&ne$D8%K8>7Z3a4mL)2nU}UgH4JMj4<%0A7I(in;T$_QQ)dGtl~;IbPYzA zksvA=Xy)CnnWL&N$@Lq^mzPQ8?i{mfp5Xnx%{eD(GEs39WdIVJir}o}uHq|R5eBw! zKH3_MX&MJ*3cb7-o++DaS;zsj&4OzHWzGb^^rSz*$!nhm? zMBJy4FblOuyy;6|8up8Ma4R8a%@R*D=hfb ziMm%iOl6($X=I}GpUv#cZf1PXOB)(;sz1r52Cce#r6%3T=Eh@kh1x&=CI?OXcJX$7 z+0E{1ZTxbZ9!~G#?YpVXZ)wvyrgv_7D_nfZ+}L)gyC&2Xor>*o;db8K7OC4Qv@XGR ziY>EdJO8+CQ*^gV`(!#r!m<@aX2hrGdw0BZk5&U)kNaw^`O4M_8KF7%`)nRpbxA>+ zU)0qpU^7sKjABCuUe+B7;_wG{f2i2SQ1gnRU=;Wbm%YfQb;9477G=5;9-6Jgistc? znG3bg+2~1gv97FIf^N*~Mo;W~?9{sMoSjJz1Fnk>mp*O|l)tXV!3R-MD&+8lu$a*- ztf4E-(5!KP@@et+-B&N2F+{5vNiF!~X_ukI4LmC9!|TF}aB10_0P8i(nBs4`u7&AW zB9{i&VI*h+0JS|Gq^D&VPxcWXVQK#Ui9D%a8}N*}!g8MPt{z2#hX%2Aix1fZ*7A82 zD_vN@7jakM<8`(Ac#pjUzx33=-O? zSiNuv&5~b=F`r!u}RV5VH zE`+7LLW*i0y?Fj;_sOo&Pdt%68sur&)QtlS&|;%D1IR=Ta8RH9kl~x>uiiZ0`^l-{ z^&~GQ`Sil7WYwub1KE|Vat*qU%EuCa5ECRGL8L(EMnxv*X?@TiBw7Mpofd22mBqCf z?$ZSe$Qf4!?ui2TqBV#*>K2gXp$gm=1@2eWa2hRO(W3RNq$sA!%f5*ggkGCOvXGBW ziiK(|YRuC7Ahu_Jlk~)K%>H>Ol=U!zaMGMR4BW`4b2T&|W$@&D^)foYgJ{k=(PsYz{yXA5CR#QPD)lqG?^s0*~#jc?SH8$ zn;SAUv;SJ^j_PJ#WZri)2s!)m45#AgB;HPsN|0r;)k}B-_ zvYae|C>E5^bkT3^f|X*|KjgF1rc`I_x&#n@WZIVAF=c<})yutShvepH?Cz|$y_4L% z!oKsLm*oSYi89pgx)d`j4E;2CRs zTb!{P+e8thZmv%beGYO4$Re~5qy$mw`vu5g+Y}dLqAqo&u3Sw0H3+BNrPFa+oV#5W z3&*{D!*MSUZWoh&K1v5fhzGYZT*Kfv?Y&1wP7Iy}Rlg%!DT>?J^=U%XW3;N1dO% zc>UzfZf!2St&j)!uq9VO?Z%VSP0O{?j^HM5AH7_QL>FXm&W%YBPDgRi9Et0rkRP{rz2)TwR1nhjkb`b*YN6TeLc))(??R zwK2+kHo~vrIxIvyk=rodMqOY+N}7b-b?H zRqcvBidVc5)@h@%6c)QzTfc6%51o|F=2caL^?Y-Udg@n%HQm2XO$$_ob$xrSx)!Mn zYy0kcwJlT~*7yB2>vQg3>TW=qevzCP<$8Ac)%y#uzFk(WD}gC+^0dHrEj9VwIR_3N zQxE*EZXj9uA+SJzo+ErAg`UPVDI3;h6FDu5B(&>*9=KOlMhnDk71jFVsI;yn!gsUT zPC55PZN3>LCA(&0g~HPdS?o^45W?=>;(aqV8PPYtP^D>8g0)>a&SMw_(D_sKX|V z4oYo@N6!p%5!ZZtrEp}}nO0%GZC%y%BVtU34F!V}ykYSn!gbubY&`V{p zz;H0G-k41b2gF9iATA=*Tf2z(9flt=yZzeSLPM%F8&U*kHgSqH2TlY%wBR_+1LQ!l zHXx-rkQ5ozsT$J)U^3>T2`18l(7LsoPS{2VoGfFUHV9)H3zFPiox#U68;Ct^Z6MR# z(gY)=x&vl7<}&Co{piiPTAVxSM;kaFRRHJq@LT3S64*$yfXgW9?K-3<9l>l!O0(hQ za{?xuNORT(+tQhUBF%vlMr{@xr#XOR>E|F6cJ3yaGQcvxRGPEiIGT)!QlvRJ$z;r_ z8q*vwt6l*XsFw^OooT@|3rHGenm{7WX2ym!m4q|XEMW3blu*2R|D^BWA&D^j$K+>zFm_I=M`oYToJ_T&uHgVUb)~g~cFvmCNg732Iz1hw75xoBn0DGXQG& zYcc|PB(EB7d#TqDr-4IwLpbTLU0@pYC=HP^3wGPm3gV$d)Lsji3n^aZc8T@it zFzc<%pBkPuSPp9y;;#8qmtYl(Q->)fdue8ED$!;e>M8fYJg9ekEcnFxY~tNA1Md|e zdHOqCWeJ)^Z$qLORM9eY#OMbac$SuMV8tU8PKbK8D3t7w%l7V`-%LnOFQDMrbT|C~ zJa;emWRe$t2eF*rD~i+Pj`n6^B>Ui@7D2KL2-1EHKzY>R36@6_4}?w^o90==Tk~aN z#rbG(TH5PnB}P4Pf_q?C4&oF!NBQXT`%4zHX!-27wCfOQRh2N;7PY8K0{Ge4-p0>q zRp@D_bFoV^1bYmV#BIEYN$%!ldzr7dw-Gwd$R? z^?7^4285&aDGIuxU3Ba)Qyg$3;*?}BI>mt%ci;vq5-AQG3=fT>hVuu^EuzB7)h;s0 z1{C-ONsWt`DK7pLu*_gOGKF8IIH2x1h_)whJ_OUU;KYZIc{}ElpLVI;vtlx>Dn$Un zqOXl{4HhMUU{O*`s-i|(yp5uWgw|?Qn%K$Un&^rEz5}A)i{w(K2sM>`$#^ zZ(4*bS%!y5$c^r-$U-}OwvH5X4%bFGF`togp~;jb#dJnW%DD`ewdYfOtjwzBs;PAf zR?e{)2350HT4s8U&db+3Y7U>n50~h&N#4)1p@P{F3I67Bif=w9>b+M#w%Q@S17lr=vtGn?l--!)kzR;MJqoc(IK-+71Wm+MDYKUw3#=x4bkxgH z|3>5DF0~MQbR8Q}n0E#(*;2NT(qAN5r^gMh%`QZlC9W5(Zok!wm8`{Xn00)+5a(#- z^_%AOGr&axTZ6MLgpL*VKH@T3_bH94%2e& zVjR9qn-&=-6imNRv!E)!QLK6RVNe{WgBSWGkhWQE*!p=rSw1-E|GwH@`_!DCU6#|! zQU7w%Z!H__MII~H4Z{}>=IJd*T+GMGrik@PKF0xnFyn0{vW_sISJ=*rHnmj>JrCP{ z=ym4iu>n&~t6DSsMfOP(`%oBF=ewJh>CwMKD z563XGrOah_MlWu!d<%dwf_gU2=Ka9a>X{TEiA2{VJ&1y}QRciF8OW+tSEkh_K)7d* zj!}z9mc{9D>7NoHG2mj?H|}E-x^m-yC2l-uPIeUTqS~gP>G>5MSyv!#QF_YWD`IIB zyxP=L@8*h|ruL{!<3T{13Jk2Ajfra|#b|Jm ztaVp9<@5p=4_fN4vH>=}B9A{MKKIxIc{nlFcm{SuYaVUaOEHD3i!@MLF_^7XX|bl3 z1|eO)y&b>7Ci8oo<%8fhO3~$cp9#G(=LcC5IOd+K%#!477bqBOFw;mVR*}tueb(zp z`VQaK{MLbUn61fVJ&eYd;cOTtoM=y5#x81ejH5P3QEH1C(W`cwo1=^4I|(QFZq`}) zA;b5W@{jm1)3_*eifo>a`Z~-xO+VlhLk4HAQ9`;>3m?5=x31n?I?bnNvtzp7;SE>* z$;%S3Ew8QKzi*Sst!C32dyI9BQLkx$+@hQFe}sc+hY@KYp_ag3PgWR z*6cTbi3pYqoD8=Na4mODLU%r7a3G{I)53eD)LzkML$SnO!AE8KVY!qGid)+Bd4ko< zP9?d^QZ29Dt821~&ckGt_>azKA;}z62E}55M*ejZm8zc9DcCH93n;z0mMhBRr>2;; z$xT^UA~VM};lXu0hh=pAlKJWCz56TQf6GJKoTl$_1?MA}&$QPoW}~T&(w|Ibus&Or z$kf>4sqWr)=99-#^1+JkP#%sd)gJAQIkAaiWOjd$rA#t3@y?KUm;>NdE*f`7_IjDx z5f>E7P>|p2JPaX8!|PX=jDYTbZ==}&qcO)x%Rn&_mk01X@DD!m6 zAu>>l#{TW-%m;_jEr-bqLvTEH-Z-0=FC^Ke0_wA+5QI6JE`+rzQR-cz7oxuTel5H2 zVIwuKRbW{ZxV!od(6e#4iJzL$7wr)+l@$FVLx=K+U#0;e=Ydg}L*~|s`(9e^xEe-m zK~wr*YPelnK$mbX*p4G*OLPv{Gh0-aU}p~4wyVQru)YJPZPhKXbGL1-dXvF+9I$^# zBYqp~9}d`0rmjzeT^Rm*+AI*g%{=N4KLA-BJ{K^VKedUq^eI}F34y!kN2>~s z7-52+`4ld}Da!)(boCn8x;zZ%jjVRq7q0Rt%RqF&xCP&O z1dDZ(oRgTrSB!?ic9fN8#en9^sHiO0lY95tYBccOz2pRTEje9qY!Y9MLO><=zOf1! z;5o5tE-6#DdrSl^-=kg zdCzu6kr1u7p5?vO$%uSJ+s^No7#R=Mb|P76!y#Y38tcqEMMKS}Fc4_I`slO}7R7CG zE9gAdiYC`=z8VamWtpd0rm|A`3+J8Hc5>^MgH={4vB#OAi4?i(xF}y{r`zg=#6cWr zBrQGx?_ZJF_*!_)=Nau87hf#btAS2=dvpsZJ`yZ2^b06X5-f1$7f{?JSfC$hl4L2t z0y};I#Z`g@E*g$Th&D_^t4FW0%jMrKOH{&g$QS`}m;`mXs=QSkGPt~jAXHusJ=DKy zWl;HHpks=QhMnJRzQ5E}o(NO?&Z;rjb?>sRH? z`unOpI<6qdVRZZiorUY)nLqxryjlN_D!aOq2)yV>-O!E)b7Tuq7fsQ~s4c`iV`XRb||L3Gwc%BG@$ z%1M7F8}94Sq+H?_+z2)T&0Q-`p3?eq(dkGv6<=c#_7sk$LI+!2KFp`yEa+9Uuf87E zn+mg&fvKSS>b_kbXhaxuq`lm`jY!{k_Dg@-?JY-OaUMJJXV;j1UjUJURMJFNAl|UQ zqJqN@xNW#Wxvvh}d#f^@^>8@*wlYhzB`0yae@k~l2}_x1NpSQYmF+#4{`X1mEFGP?H(^*3_>kzDKuX=^gAQNFt$o+IyUNLU zW}@WQmtK-u7eNFXve@$#$^lh?S=zmy31|bX$~+r2`NEA_8Iv~ck)-dW>;nbn|y2Uwm_y^ovCpdeU;m2s}2mql25XJa(of8cr7V^Zjd^{+QmxsVAvx&&=8rj`r-4>kj$Ah$&HJ1+#x?3wtUoE$jMx$j01Cywx#T2;Urc_q% z$_LTB-R2fShF-Xz3O~| zSjbM;O7ic!N%OQQPAL*WE65ZYuUED!U0JBf_yQ1ikU9!G3))_H8lkbc7z$Y0r>v!$ z+}f1MJPc7JWX|uQVbg@#NX~`<95&0U#O2FQY9y9m*c#sb%1=;Ubbkp58-RXdWGxSL z#{}I$(483QHb-7A1@JZkZ^wX}XSm}J@t=~qvloLrgIqa6OR#(Z>$4c_(1IOSHn+53 zN&CJlU_cBQo3ax;Xy=AXB?Qn~ntYYu0Xnx-BEbW5ZmBrIgK{pZM1tQqXG1RoUi=8> z+*0WT57N1)5(y5N6TVBu?(*hM7*lIN{_Q|HAs0904VVLV8VC+#N5lgl+rPjuMs(@V zwnJ1KmWR@kSlk^?f;lpZy~vL!0|YB0bnZzT{W;1&@dFuP(i7m#1i4 zBN42wcmana^?$s9`puUt0^!=@Q_K16ttOAgn@MA>yLPX;q6MfD1HKjSAB*>8nnuJR zT?=D5u|x^Ieu(roOh`XyCqoWZND%?&MFJIYDhMdUjhslb5^kiT$%-exLqXjVBg%yh z?M0fjpmoei(O5464ufkiVGA51MA;!Z8JyECP(Q>fgZfU0b`7i^h_wGX=UOGymOapPPd9oLN_{!)I;|@(c=0pB2--ETIFR7F&Qk(AfLxpmQAJd$m5KrWPFMh z_hyp`tck%z@@#MC#W&)K9x6!=b;`YN?Oul>aI(g^G%KT$M^AV5Y)ch<*=q0k&Xc1T zuO2^o0SC69;M3XJ>1=QBJ$trJ*TLooTJu0xzj<&QDFyF(Iz$@>x0B_EG3-YiZhtpW z%R1eA*T4=U%ox&Ft1H@x)X^1h8Pu<6rMt2cs?5UgjFI~ZR_5Tu#skjKkk`YBjSt{7 z#@rm}g>Xj3oY3!>nAPxJ1$}6w-#&Tr-|PHLa%cbT;oG;1jx;hL2PZwHsHd;7@JO>I zlt!v;oP@@R791shYLRetyM254&Yc5v_#LK`_gO#bpnD>GCAUM`ttOQHxENndF#KcE z?6s1$mDSY_{PSHqd3-hjo>`1ZzXwv;B)jM)&7J3a$qSI>MQ9 z06Wflvi!@z!DxwtRG_yXrZkh^?|s_GjKd}P=T1xHpJbz6R;~k=FUFK`HbL;@_m%eD zPtE4mdMCNl`u%SE(GU*$=>0P zXOwC+k12-F{=q?caIgzaff8qvOW3L}q2TXp?N80ETM6K~b#SnXut^IC3o^?)s&~`j z00>zQ(bjqciM1Hxl%@j;Niv#}IKt$)lr$bR%ibg(PcPxTcu79kEocHDeR#-!@t@tp zJJ_5D%lKpUA@+%SMSpOBsGjC(OQF34Izy>Vfi@l3H3Rkm=55*4QPM*ybcajaHA~#u zf7JQeX`uyu&w|FB{l~zjAJI3zszdt6!tjlWVR@@LO;2$alch_7x?J9R*z$&mvT(9g zNAH_xVD`M>Ztka@-?%I19j26Y3JdOdHqBahwqQwZJ#21mV*VMAc%5p$ZNa=}qXb%Q zb|cgPyM97_=V~?f1_eHWU{%^`5NQG(>%|LG&>W=4*#JoRa6N%KM$pd(TeJ*;@|Ic; zu?`w-&buTaSe4CbK7}^7wrHVR>(gDG17oqv1>Pbo&CSbB3mfkvQ7hLh#XvB2upkA} zONsqbta_y4Wo)%cC!ZwQYRQJ(k-f-15?>JMz)yKQAzsrxqG1EJ zx=f6qgi$$ciRsv<{|*m{=g>FcH5;lV4IGzTKe#Q*9NgYQ@Y_WGtvd&|FB|*6G*+qKyd2ZWlaL3pYO-4dKx&8=jsTP?}6?|2xD z4q{3>X`Bulb|;n*$?~b}1h=uG6Sxo9m@%a`PBnIC^dc*BS+RIm#UhIDlkQF_mO{(v zQv+tx!j67bYM#3#oG^MBFZPO_9>K~$%~0C!!;z`HOefR42g@KW^L}=DoR<902}o0y zdS|^nF8UXjy_7bw24bh}1@@L~0=vur|9?6uX5-6#A9l-Wnh(m$ex44BQ}_cLX#U}{ zKe+5qFDaBjg){mG$p*em)5}r%;c`?k{!8cwY}4G2!fx955_!__ zvg8;smps~+5hZG`}|oGjs9 z1v~%x5pG!L-SrMF;N;FG><_n@k)d32`;w9rFKh5`+FlNBH#Q$U{3o!qt>p@8RU3ib zTa_GIequl-ZXWLx8i0Sh{Luv)gyFma!`&B83`s9Vqa^gf&nA=Ec*=$wq!j=$grq|* zS61*;weakI>vX3%YCu$@oFQ_mk>`h(Y%@m32=4&Fh=f_$W-`nsr&;s&Pof4J(GO2| zDzTiN41E*=w+OT+Pa5iQ@lRrr|6<0t|I0slKcIbL{j#Z-1}4#FFT|SF{eS)Q@Qx`} zgawPL!^o0(82O8Z421!6vY=~=(kZNNS)r4$0DYFeiZ;?FE}L`6-D5KABclg}pNS#;(AZd1mhzZ}fK-wVmKIUW&W;M@pSYBuS zbOhUFavB_rvCN)B=zKsVGU4fK{6h34w}3lR3b^EB0Lb>{=>@rsc@kLKl1D;alFkIG zG$||LQ~<2VK8e6Dl0%Va6T?0@XdvA;P_k?=0{VS$dzp@9B?@F)AWTQ95~4@#9mo`~ zpfM<2;i|wxvs4X1L(@yxuFL79071WmaU5Khmp$0SFMqx4pNuZk<71F8QrOK=b#;jv zjmr<|ke3@S!UxF}@PTpTmX2%zolj-GTe0ki5^nP(!j?>X4 zU_FQb=OYkhG7vC^r!5l=_W8I)CpM7AZmnPPG5egx;=c~>{1@dNs}a#_%{q(S!E+cE zJ*0yXp2WN}7_uWcEgTA-1m9bS?&-^;R$jL+vX7Z2RCPZ|$xRk=q_Zy>Wzoy0xS~Zo zVI#4Nk`!j~lXU#tT1H+YEe$Jh0+{@UMo^^V>WY8?rG_RWWwi7#mWfc@vE{wSsMeRd zMh#$)FjRvG&*32g=A>|Vnat9RtJ**<3?uJnogg3qc&Jd@ThTwC%$a)faSV%7OxPPN zsV0o($;M_)@-AwUdN`fQPBuL&`cBCKN8gqj#d6YXC-$t9kw3zUduW?7sM*qXUSdQv znDfczjdLz|jO&*cjT2NULn6JihW-D5HUGo?)8rh(kq z%1XMz5W(!Vdu#VJc0quqr8cbq9zKd~@AV$~S=DX%F0nlm(_-xQUN`HPWa+Er(_vd# z>)}j|vX4_06L?Sn*{EM|no{5KaH@Z(Z**K%r9oKO#dj^Ol;;3asuZ0E9I>bC$~8oK zs>|#AvY5c(EbAL7)3khV{G=Fu6zv_;&d+j;kf_OlH2gwitye1aQJVJBn&=9ME(~{% zN*fDTk1094k-ZHd*k3smZ$fJuY=K*6B@Zz;vT-A4^1<<}JZly-yZt&Fi7)A2z9BgrsIQ*{vX#Hiu^`nLsm#*h+f^ z^Jg7fs0PYteF2C@zK;~T!;p}iG?A58jG>UFuQ`fW7#Xz4qHdu#=a%@=r9o&VGQ%55 zOul=_FB&X19^w>JF%$yg3yg(2LhGDw$bk&l`(tAny7W)k%N5tI2#Pgrs%1${Dm>(&w=1x5I6R%DbsU{81|@CklKc5#;1MA+8+D*` zrE3SPH$+B6zkV(JtRJ0M!PW5(vXgN0=M+SV-7aQqS#zg`=&WjL6cE>DtO_fuo%qxh z^?UQ!4wkj)$l(&fE%$6v#UUqOf;mnWWTSp$Fyb?eVt2*dl2Y%Qgh_X5n__>_Qm>TK z$<<;oFl1k&DF31s&T4#_BTaO5S9rPd<*DXzR1u z#_L$FZz*YfYKUuT8Uq{Ax;J)EI&dKK1GR5wAWsb8ybGh3kyELfLp^H889s^2fk3-f z@xQ?+V&4When1QTA}fWzI~GZDR(23BXRvc}&m3S#3ulOrm6nTXj#(8ED-6WyVG9-DS;WjX~$EJL_>JC`**o21jk*%{UfxAy%hta1- zwz}_%d?W?pB?Q{Ai{XkLH~~H4a#L`sXmW6Lk*(pA8Zh$q{QO8SN;T<RA`ujs?22bn-|@uVR*{ z00m3IA@!#J7PYBmH7!Q=6at39trjR|-<4SWXgbz7Jw}BSjTUO6^nx**;8{sUMk;8a zmVEr5!-IpvBsM})hn0k1FXTrO5u+<18wC+5oD^xG8%ZO?oE&apwrpv+l4Uqsw!LX1 zT7TzGXmr+HeI0&8qt|u&t!%Mf(;uTf7XMd!CvVtRxE60apL%=8n+!z3(&TD}@W!@4 zwEx-#YpL$^keDKztHLwS#ts2mb372<6x>&T3r*|?IjZ-6W7t3ds33Q*nKfir>i1Qo zR=mZmI!rnLubCsDA<-{y1R7tpMiN!%V z3b1dcv6-Qtj3$STR#5e|vY_e<7>*wQsEP|s!-DFqD`>~>9=4=_zt5AdJW<-z_STnyL#$ZD2_H- zQhR2zFY&F$l(06kuJ-Z&knWMJEvQ&)>pyzP|L7tAU_E4@SrX7%07S9w+Gz($e^Djo zVE$##;Lmc~vnDpa%?5CVRg7aD-1}A+z4lRx9JRaGV7LnQ+B;&6aWPCX!#$SgChJnn zIXT&)jDX~W>k2)RXp1yg8cJwV1tnp2kcu!~pPGg8te6e(89!9$Oi0&esUL23Xt7P< zQC&!e!v2~D2Z{fV$@38$>R^@Psb-vDxWNl_Gi$JpfM)P<(a&HOS9H7v{PQVdLV`v^ zw&BS05gIU5`0(WfAf=TA+Z0IMDIzEE{I)Y?OWQab=|g|E``qczAf{G8?A(p!JZ8 z%_alGtp{W)^l_8MecW@jt^4J{vM>)9-c0M-ovFdW^9LuLkdG1+wM(*Dx#@<*c$T*w z3YR+9wd$7#2oZE*qY~OaiNdZ-W<3t(o^?;V$%C!&**MvHXrj9%TeQTskQQRb+0S}| zR7QnoM7OqIJ>L82^%FWH+4#sssD=+58rm->1ege)1H>ce?bep%y#<7Tf-PACmP^Vz zi(Qk%v_pQh^uFoGgE%6iUzXQ3l#G$qk=igxjKA44%+mj8cExIWh zk!Z%jZJ@q=Dy&-)u0fWkQ7Fe~6E-6XI@D#306%biQBeb`F1EZQot}w7g-| zj=PCb006tUsQNog%bQ!GqR!z`^S@de1UZBL1$bB5_g6m|`NBoKyHJr9T5RukU>zDQ zlpCWn`ZC$^;ot#i=o#Py2Z}mv0P&VeFp)`8`yEeH8S%ElWwgml*s$IgY3Oo={#Gi% z^SLssWYvt>W#0p=rXQK`QmHOk%_BPz>Om<^#E< zfmFlWS^40hDD_bKVD2|tkV&4kwkSk^xQ|}CIn9==+9V_G<6Gt6D{>l`(Gcn6*ei=1 zv@lE7fZMn^UI97{(5UqGwFcSqnIpGSbKoKl!B+pOCR2zSPWwb^{U%oXtg+neNz4LI zz-x_jA|5@}*n*xtR!zdS$C6sm|97`#II7`KR{{wFRmdMtp4;SLTeZJh zu+>H@3(7RiHL-QtDa`azLy1!7pzIiQS;M!jAE)D=vxy9{81@O{{kKA6%>dWE`M?e? zZHn52j=rWxO4Y>-l0o{g zK4ROX^;4+HZ_;!2UgZj!7+#6|u*vZZ{-Dt=E*`CawRB7<52M>eby zhK8S|L)p;l%zf4HZ`8M&>EIXelMi+h5n~{jrm>qUCvFi3qMi$1mDl0%wY?65jX##B z%{guBXM?$3^Z@f&+6Z_(GO9}y@>Zsz*%IWYf1nN+7t;T<8*qK(EAxiSZ4eHv?a9}XH>NpT0$Tv+5Ol0RP7qI z;<`nBlBZp>3iJu_`#o=5QGjyuMD&6kueW&5-os&!z-VX*5f zxnvIi*plm2r(t7-1+>v^R|03pFc~LuE51@#vzCPRQ!cyil+B0fX=WF;HyK}vxT`5I z*_))Jl3z5zllYubHE1?6?Rqn@ygIo|%cP18he`}dxYJL|vrKsO=|fbf(-G0VW@{^} z_vD=p78ym07$xo+CD7^+RlaCNIPl9gf4SW6h^pm7nrq9m8=n*%!- z;Gp~a-A}sE+Wm%4XFDW6(Q2JXSS)JQrYQ#Z$tkSU7MqdMvTIdf#HcYX4|_{TBvBtJ4iu z3B@_H9CUe0b>Q8&sr##|-?LHm5|1%`WJzc8S@?|?lqUu6!jdQT&1i-E=wVYsam1{a zh}{4*wtHt;30R)a@GL()8=%XL8eu*AVL;I=tk|41EOLw8SWxukpPO`EH6~AVz*TsN zp7Tt&8z`%6usVrHz7YKY1jL6Au<%187->^hvc-6{2ACSoM^z2pc(60&R9%ES$=jegjlx#m`o> z#euUeA*1m?gA!J#ipx=zPG(h=A|$)241e2oVM-+i5y8x1Wk7c58qiKA>3KUT2eZ@D zY+~>?n_|fi>3P5O>E_HJ7ml2x$sx)6dVakbW~AmEBZz287ymY)Z6q+!lJ#Z zraV*u186C(BGQ z>-1x872<^nRS7;7(3Wv>+8h(d;Bgc$elyV#avH^e>Y5oY%Ty?xBHpHi1U^K`#EDk% z+3{wBQ*efH-YAzQsbO3hsBxu%#M+lMemRC1XdK$jV{8D&q;Tq2!E%s41ITbDMHqETTSNJDQH%Jr@=xvLKHU)^Z4QJ<| z8Xju*HH4*yFswAL*5L0x2%E`XfdIZe+WJQJj5(?S*SUw zQWRNyYdMCkh4+=?Nj36*Hkj9F0CCz(Db>8%)_vIe1zm@{q90`G=*P*x3CSc36xwz# z@ok|W(JE42xihn2RGTbIyRwTqq<8YHB99|1zAuKf7 zLO(u7wdfsx_aMymr)wpUHT_x6B#c0PlAb#ie!|5yn(6$ zew)+gsPvY*SvbI0qX5VnqnVn?ML~$0M01^CP3Dbj1PwEnXm;(TA{m@4n(EUeQR5uoqV_RQ61auVH!|E9*nXjg$qTI1CD_)m{EY zby^m{n#04jn#DIUzmb+a@q)p34 zy+URA68pSov0!iNM$UE+5W(cav_el5<7V)UlMguzOr46yS@yn8#pS*gx=MusAv>9s z2)XX529$HCb}!t2dL5b%ce?tn;H2(!VON^1E}vuYK8hl6sOjSqp$J(bwMRU~U02jF zyKkGV(}6S6-NzgOdft#jCjwn9VMX=ML{~&V0a|P4L4uNRcdTo@t+_cEI(CLWn*=~@ zo_VG%aO|QYV9wm~3}*x@3JjVvcb2K8&Z2-kM%HX(-Y0AR5yR@Cm1@XP|L7@v%SZ1`JIr*VlpJxQ&4`eg-^@*`UjF5gN(Y9y@SR@D^46=94ot0%v!pmL~#Z_5C2MnM(B z%Lv#Nus{&w9d0WOXcOCO+Fe%+N_Dg^*7vyJZn$iJ7DScrxXO1>C16suyz^p;Ei(4O z(FgSV?+)DxKyc-ttAYtIPXmWWAUj4W=w}K z4)Fd$_6|-&eQOr1u4!q(8G>L}G}>mgA4Wj?NDnxLRtnR7FL>_2s2H^dAIBu4zv}KvYyfVUiR>SpFgT9=5Mfe zj#Q1eDvtDE$U){r3j-Y`c{Lr!oGVThHZo4K6v)LGR`X01C2My+^V95!~W&>=&%Ym=_19IBGi*LpGW0l=NOY zNuGQ*6WT0?9#~06U(ZtxtAB#QgSvWUc-OTh5a(!W@9vOZ3^G_Qr%kTC%3#p7-1ABp zef;EEbBROyX*S9x=`<_lhMntExzcq=;HG)(rI#c&lixqN2mQyz2u_33M3`s5@pU%J zf1PC}YJt(za6yWtV)~E{W|?td5df6TJ+pmYWExrMiyzAJXrJtjD0U0{z5f*dJP|*i zeEXE5v50_36c0%SL&6v{zi<>J5dzdjeQ;1xPDed=p{5##sC$-{ug*uWg%5TUyP*%i zypiOm`6wOiat9GW%%N$5tPt*-@P|uFYQDt)S?HFqU6Nq^(sCJCtTNtet+>_rFy}DQ zPnw98D0*QN-Lq^kCOxN1U{ZZg57}oU!-xjQ(n=6X!q1of>}BPYojb|!qUEs#ibpOd z%qseZ6Wa#e^)QgIEGd9RSqyqq?)T0PH?)fyFE49x1{?UYctYK{UPC38Yd6@MENPvB ziC)7KjN0|}gNMNR4lxW-s96@wsRlBek%%Ccjjw@mH@;4X;|)G@H6BpHU@CtEYE&0n9zT3RfigjmhISz-Wra&F34Z|Na zgZwxiCB5}G+#IWLh)hx zOD&9B^_P$PE1mBjb)Kf3lS59z*1;;>TFy^3fi#cW$w-kJ>7Z@KxuL0c#F9;~7!(+l zTWUep8zzilpG?qyY50V!fMh`1kA|eQm9PzC7en$r7Dkax+Mb_}rci;l!(VH)lhykz z%ZoWwcxhz0B|7`NtLitHlvmgsg94W^DU#^UqsBwUxWp(;U#LfUAfUfB3>mr{G;w;7@mkhBrJ6a>`XwY|{47@Ejkdbt)VG>=ktuF5HQ$%nIv&a7!WPj` ze1J~Ex&k8j@y&C*uPH{blA3x+B2I&T44L2;j8JQD>%Lf_w#XhW;bs;X10BlzlU^s- zHvK}?yYxfK0SVR{yd+j|l5L<5$8$mOse6?@zbT*OSmFTVN#+*s|IY#680F;A6edFK zNiZcbb6%VC`8rz^76DO25=0@rYGHE za=MIce|d7!yZilj_x~aS0C(iJ;3|LST(Ygv*fbj~} z>BTNV8CHxCLho!;^Kduyh_5v|fyix>%cTGB$ly$n&@_~on1Uobuy zMN}2xRPU@q+SXqVmvdX}z~H&UzyQCJa~p2&@ZARF8^7ZCof&EfAXkl-+yO!>;ooN$ z8=hYSfXqme3uS4mMZ{6!bWX@lpgSKi?GR?S$S}GX%R)Nf)uOn3-jeZn)FW2Kf+n zEcp^ObRtRlSwKiIYvaj2CLGFF z3*Z>tGHSRbz8Z-1;izvljUAbQM~-I0W8k>JVu{ygC6I55mJ#&6E0=VNl?Ad}kSadV z*rp)8S`R@<`R~#SxDs%3Mc;C00>9)aCQC{Z{p2!)GqI5>qSI=Ax{g5h2{R|3(ZPvp z**--EZ#3^al7|-c33P<0hwc)X6<|tYzAQ`+BqmO!2NoK3OgLk?$1hzlK9KNNzz6jv zDaS#BDyJC_9X`fOJ1UT|*gY}iCP&;>o#3Zg)Z;5|d>W2~O9T!xXUH7VTM`Q@<&%C5 zRko+mYn0vO$*;2<1YXpB!kPnu)fM#a$hU~7JpIO|f0zwWDTb!fP~^>%?N_@Dk&|L; zUDj02PEPWVNU0;(pnC~!HzhqT0Hf1Qwppvl%M2ed)lv&}71{!vr7f_Ua_`i7=xD{= zwHgg`%Aj2@7#NofH;LE)Dc{aAfghENaLR$|yOOIQ@C#DnN#X-syVGo(;G;f3_|trV z3+n`9cf&~VAvTIqhHMj9A0)aTmc9!a1|Hl{*EOBUP1@*mN43m&MU2*kDv6#}B+goc zhaXW?>BS70Ko!3wi`Ol!B_j+=7+0iVC-@wSLQSYko>|lmS$iFLDlxVKQx;J8zS>}b z(FF81#0uaHmA|;Nl4hKVQR-gFbGIxV=xFXCY<8&|9jtuRsJZa5Tqa)fl3WC?-{w?Oc1%kjxR0!Ny{ z2zY@p3>ztA0NHom@1Ah_C zKmo@zgR=V9FGiLL9uU1FLfR>bJql1%eK&S%uWge_@M=z&vu)@UYiJT->tpFwuYe3u8lqjS`(7IlrIQ2tI6LXFSv^Y( zbP2mQZ}_@{0+J86p>$V1GDgeM>dkc0X1Ipw8LkLI2pfiKL(4F)#&#GG z(R^h%u2SGk`AS)ntM#BY?mU6<$rHV1fDL)?BjDlSFGOw=d*ayMiV+k#8IHmtc0i6f zy>6Y0;n*Tf;rO?5vJRxOm-M=}B~(1Yszy7_;}gvAV+NDak!3hYg@s+lIkj76TWf1e zZILaN=XN0#I@W3tQb6^%bgR~R&u#hW{fFinar>w8%%b!H&=?{+J z?b6t5=?cJKHdMyg&fwo>-O9dxQw^RjZ5iNiTDI^e4mR2sGLbGlFq83@S;jQ?-!#qj zb@@C7B5Y(#bi2y?LVPnbrR#!PFb5+;4j&eMeB0`la~ME-Ck6oV7?@efQg1=BwcIVa zY*#@TYtjhR%xD<1BRgX?oY75(QWeArP4m9VS@Yud&N!A$ielR3T&o%Q$N(8MP!w0u zl=FPl2R7z*c}r%jC#QqrI33Up;_dcrR4$$6LlQt{H5v2P8;D{yK`HHJ3O5gN{ z=6B^s+e>?A=mCbRzVowmN>65Tjd-E~wp*g2qAXaqh)VrrG8>JuNy#bYbatHNQ$hwC zYGcYwE1^4!vYRA-2N+t$EXs6)~2*^@oFirGv@7oz1@?el4aG#@#Dr-V@P-{Y*8qNfYgzD%`eCE&olVF-+fngVC= z6#jxp2bjw)4i+g2XtZ{->0Um}SpL?@k72)^=nUiJESL(HgWP8Pd|4{oq^w1|tz$H6 zl7t~n>n>`u?xX^J&xEV0py};a-Vwt*KkHUU&ZF|g^Z0|y_{!K=~=cP%2 z4?K1`rOEkjgctMz?FexLi)UYzA9&pfZO57^JhnOuY$4kFMRtkW9siQ-Aw&+oQua%5 zh?`;&W{*rJVRtUx!G8-b(e>K93xpw?RjPJTYx?=gNk)#a{6-bF#adP$N`rb98d_#S zfuXfnkg{j_b(YOC8Q*}k^Aix?Mff`LB!j%@gZBOd!8eSeX!U}&iJetjaA&)~G5S~U z<-PY!`+7xHLMz-rZ94;MWubQO@S7*Gnt0s1O8m&KT5vGgKyppW)62{i9{sKwO~Sf= zja5qRrK(I-x^1Rn!kEJ(`#N_}DB_f2c7{ml%z|uzF^EFXtMLrz64~sJC`4Dn&4Htd zHwROe+wjMH-;9wiE|-^H)Y-*w-izyD$)rLfle`f0{SH_=ygObYZgl zZ`=b$DAnEY#k{GzWTAT?CpVlkOZ{mc5pc57$!RHKMLfb61Dmd0mwW5(;^w4I`0XZ`@>fo>)X; z++|N@qa>i$)=0bQcs#fe8>L1n<0?ohQO{2a{Z+%r6G?iJ%M6eUr6x-z!GM2|%T%Vx z9hICyIV|^hdSSSNr5}pC&sOQjP=9fl;xh3N-OI)TaA~ zi8W-$`N#=0tBORFSZ>Lj)mY_hjQUNf!?Ie|JMX)csxGXS8;MCoy|aEkv4G+C{Kjyx zXj3HEY?zjAR1n#cl?`eLD|vqqZjk-t_yVKsfRH;I^*Xi(s`>9U4w7s7cLPwJ)RZ6GMiwd*+~TEKVyd#3Y-q5Y zyUh0wZf65voReaN&+-`z8P6ho456jp&${o_(Z}rp?0V<_^XyHy%d*=HU^l#ZaQoxg zWbNR#x!)UZEl|ev)K(Htpb01W$Jv-IxOF3DlY!R`NE_tGp{78N-4X%^NG>AosS&3E zGvn={S76P?4-kFAnzNe2LLNlr z7^XV2Mh1pGAfG0X3KnUZM4f?X4F8k2Ok2BFr3jB!aZ8`|T zry&~u5!<0emzc(>xAcSCkN*DXf0BvV5Yg5+>#xJ4B}<7jmrIyxWgrn)3JaGaMuQ^t zWD&DL${5b+d^t_0vvQrsn!dL~0B9Is0`1wMtnecymZ4x3gUBcsGEZIEYze;rd@W{j z0E_c>%bjzW*ufO0S$Bl-22Z!rB+ZN^h3|@NxS*f>dWPw^UL}&MMJ>`p@!lS1FLydH;(EF{PPr1qeZ^d4z;a_Z2s7UT%?MLCB@CWuPK-Yvhxl=jKVjwRF$j*X z6=0k#C|#maaRrZX3dp84!vn8&DEj+}qcFCbuXjOKd~|XGqAf^@Xw+jTD2wQrU>*^g z)o|wh=114ff?d2nCBcs=a-%s1Tb@J9^1dUGGZp727Zw|O=hpW3-B&L)EaY?T8{z7) z0d@yUq0Djd7RT@QEF<`oy&(^7?+c|i6+9Gj$R|DC+vzmzKAM~sqjWayJ}xGiG4|oi ztImTQt4Vh9OV zCm?uOmue?@S`W+;Z&+WUOCLU#V76lSVt8D@>FaPquWbb0eLX2Y;<62y=NM~`;W*1> zWQoXSQB3GvWq}Q6IyjvNvL&*yAnOM zaI2MR*R8ZXE6$&frq73CdwxdlDjeze;acJKxC^Mf(Gh9aADc2g$$rReRxwDAGw%@s zlZ<--E}r%Fsho;X<@M%G)`J5Y3^CSe^vFy9!W_k|-=SbNM%-jsT94hIu#0bA)MSJL zFvbZ*w#5on5tkQ=44WD1aTM7+DjHS}9m?iiBJMZEIV#bO;S1*dA^Q%mI|YP^M~V%H z_9rzXL;*)k0hN@8(AeQ4LM}R7H4?tSskXy2>tUs&iEPQ;cuEGsKXU}w=ttHkxSrfI z;a5{F7lR|}ZL)M5Sh0T@4Rp2`#UOVjh|VlkW*N?eHtBr$aii?_GmxOzp&SzAaSRix z$;xt{i{)OIueC9LhAw+D=M~l;LH@|1KzuN-u}Xt0^fRn!doZlU(}QD78-tX_(pYVC(}EK z)2SobPN#L*fmd`?)GjL9n8xuNPI;}0=HG@rSHDL;3S!t^U7!|b$LDFgF zOCo6%&5DfI+*5qT7%G~Njp0*?#YJcjr;k1`@^NDIcOY=WOntu|i?hhOR!Cn5KISe&U(l#vGXrrz%1JfW{ zjiO~NRV~eg6jgSbQ(!8j8nJcgjFS`25Nugzh?(GAlj&;^Ty31Mc#6(MTINi}v~?zo zCg;iRNM{8(BLfGsDvL{27Ai0EToLe3rUaZXLfy+zw_2)S+>3iGNV zvNsi|#gYs4P6JARDj2P18eV-o*i0Gx-KC-bSLA({a%9>cag3n*0-K~fVfv3abPyB{ zOlYM3SOtP}wUhno9w9OW$bNN1sq9zL9WomDwHe+3yq)L6YGivbqm&47uw_&xM)=EA z#>!e5;;fA6+u0Kj}5A zae(dN6e>O|&7dPV2Tv!(pzGIAnf;k5OjLX1P+C=!;;j5JwBfXv*ftGjX*A{`W0&cL zOS%@AGwj+#iIqVD1=&^bSBK6GhYi8;>UV%_?P{Z0pP5{>2c;2MO!r7-b1T(Pmz`Uu zonZ3K+9{dM?(_A>Yr zgo5?t)IOe=(tgxR%N_Gqp-am^&UHtg{Vg)l_I@SFUnT+tSBbs-9MQbf5<(k(SZMp z=OWdATiGy1Cop&OqeY~tA09Q+zz2a z(SsY1VaJ6$v>=0 z5zwvl$v^B$HIcs9V_Fkqp)-CE89%rgPyQhk9sdYOIhkHZ;q*UZH+>b{s)#CO(_-z7 zQ>P{5CZ64zA^kS3n!1uOTTZ&1MmJs3lsj`)Jv`)A(jO&*=A-HE?AVqFD+EH*$MsI~ zt~`VC$#Fi#ql*ZXDx7?c@*k592I^ut{}2Z-)Bh-WTCV8NB~Jev*fz;wu%+sLznu(c825gZwUghnN#TjuMCkDE zhLt=ds)K*+WPX?c{v@9(W{$2Rcn;;L;tMcE5V_lsGy>a=E>?uAEG&^=# zkIFU3&{2t(ByGUI?$OziLaJ<^RpB^mu-O83qf!%YO>NhvRomQ-1t!m&Uy<*dz$tWg zEY^T%xZyu!E|JLcxRzY>c?5Kidgq@&UwO29ZE4?ve&a&^xmNF=Sbg`(u@ZXn>q?vM z9N}2vE^x@BTXSbo_te3vr;an`;)eDcHV{zZ{Kfd>*RHzYuCSY{ZOITmzNv0_m$}en z!;+$YlhvjDAJSw?ZCbz4hVl%W?W|Y(jBHh>Ic)v945nJYBEu}Ceoe{>qkdJIkZWJz z+tjXE`zvV=_G;qFTRl?^VB#=DD;iuOUD0Zb4Dj>sZu(K0}s@OH~_?RsQhr#UhG- zhuxnH@^Sr+Mf@dd*J_8Xc8sZX<%n2lr@ZdFHXQFvK4reg|8!fHZ0xK4_{BY!^sQ{9*$%hZ-pW>`ofvCO$b@ zuV~_cp!g1{b|7OJI6|0=>sZ1@Og2088Ak;UgfwF${1o&F)^9ukXao{cfdLE~^D1I2 zCcy#b&LwQKB#S*V!(H4&7C$ z^}NDgef7aLg+)lwBp(gNEi(a{)(9EKf_>#b%UAmr{h7Icxe4r@}asG4pBbwXkf1vQO8O< zNe7;vxXje^?I=T1!j=xCSG8Ady^m~MI;ic*t?RVs9{R^K`Dox$Pb#yxtZPfFN`_Kz zWOILnG2iX&y}}~#V;R`qPs-5lj&ZX;26ICD{+;(N3ucsT8u2D;$^yhps6qA%0IK*q zF8&URzlT3wbW|ZsjFy&IocLJozdJNJrIIHW6fD%t;b@0uRHlDn(Za3&`iJ_(WQsW) zCb}qnsx^29<}J=O1V;KRIfvo_m}u@#RR4T6n5e4juzLGOLoY+i7IIMAC&6s8g zJ>Qps9ytRv_rO0_WncjD8xp#jrZo^!NTED6Da}@ewBk~ta>4L(v|B=}N@`G)x&uMLwXV%1A83eqhf4dnrS^!q-Gh8%Iq|j&6H>Wae@O%lfXdq zHH66!p!DxQA*YqZDLGX&yIok^TKq7Eb>^@_@(;Fpo!SCy6T0VJH*ubvcZXwQ0m#BX z&SDZdwU}3+I6bizT8g6iSI`(%T=w7xohCwV^9F_wt8-S7#B*y7BJ8l&Bll2Qqb~Pt z6F3V|?DJ$yuOQ-q5F;?B)5N4YNdZlK6Fm9mTfAu;%!Z?6HR&X7+WosN5lMYN`Oqbf zJed*G;c)jKR=vdJa1oCCX!WY|d>zJXEzPdYT}9P`@{x;%=j((vn1$J>D6g5RNN_;0 zPKHs-!{(BYRyCV^wCVuh`r&N+7U7LnOR92jt{}MPcRSS_cN>NjLXp1V_&p zJ0j3_VLXb34}l31;9A;Ri+E)BN=WDb1~+uRz5&2US0asw$Y9fkbs0+i0GCa1d%a zHX9ta;_QRy^wH)@id&=k3-oYEAR+ zirklY=Z)epJc>@ghpnrgpy!A)dUN|*?w#b0RpxOxQxK(w5eW{c7-9z7Hn@`&)l7r* zgCID(oR8m}Oq-UqO^{BjEMRpcm=)-~afnqv!`;%BK}N!#PSp6)B81q5E5({GAPnpj zqturML@z-mz$UGRgaQd-9|9Z!fl7)Or_eXW58_ur zm|6%!2loh8^CYLvZ;ad=Z>-}3A`ZPbmDrCv1(W6-`KU@>mh{!hmKT$BFX^smqii_+ zORed_)LWMW-?sXyn*7&;nH}gDki*iUcYnR516h2F<}4L{C3urdN$J(DM}pLnD@{E1 zlwotlq`)^PlZtV!#Nf`VQ9hJ>-NW{@7_&|A+UmV;?|pao{=IL_Hg=DT>9iO!NJqhZ z=VK8DzvAI1e4z?c9vA(rdHpsgsgVm`zr3_bC6SI>;eNd6}mpMT|s4lRbkwjHTk5WkVe3&uEoay^E<`=T|QR_{*Lm}S?EDQ4wj zPU;YVWB5(=MF zF4vcrvr%{0JvU%Tp$;?gR5z|Xu17pLJR*2 zP%R7v0RQ55ud#NxPB~{GFF!ByOBh}KNge5;tom^=9L}aBPKo;p zYN#4}Ha5KhIMvK&#|YK6yhy$Hh&D=|eJ9aB`#a532Y)BsCA45=mDzttRBDIfZQ>Bl zIiUd6c9vJtCz7hJ+hynbwq8AO_6;qz=;E-((^?u%uR)6I)82$n=6q-;!@|?`yCr;L zbws?r-0b*^lS$hN{A(u!A0kJi*Jiz zwbF2it%wwbaRbqJcG}7dlMl{7^?eDWs=S^VSB4AhOjeQu&X|O%P-8U}iXWsR@q?2E zGbSvg3s+2ZXHJ}Mozy@7uDXb?;e3YUF6+7s^yZI|3kR0_HxG!hQ;b}<4%J!Up~Ilw zNJAt>{6mLZ4yA@@7|#FU!Tt& zOr#$@A3;){j;5hfU6t#VSJFvfQT^#8!Fdmu)sq5WPqM+Ruhy3MSt-N4EI{C*Zq13} zD*$7md_}eu&sP<3Rf8f!Xo8Gz!hfHUEIOwt2-T#DR-Da}gh$Q+H2h`5Z!99{_9huD zaZ5-D;xr^7v*G|+0f|t4*M{lEu~S>6Boc{(WI(LNM3J>5haEQ^^|Inbj`bYzq^5LY zqsETT6MLXY*B!BV9g7MoG^Q-4tgQy@=gq`#Ru`63AaU&)R`q$QR~Joxlb)rGyI1j} zek}umSP)#Av*X1HyXVTiBM6VI^@?e-j~lPk$uv&~i<~!TNb8U2hpxlo{4u=Fin{+@U_}{; z_wHA%D07{-D}$_%O~SN|l;?YNnzSuX%h#gg`h)H{{F!ZOHRYVNu%e2I@oJ4T>dJL+ zqf>rAz(b9+yWd>vu;(pVv^5J+0U4srHEh>J^o1z^ceUWA_HQu5t83r*Q*0*Qy`G<$ zHOKluEPBSLTvPnhAUNinuLLMFZU}Ti9HrHa8v#8e?`IJ8(*fiClwtV02VgZ+{R~v6 zG09&pkiixX%pfD7mT6j+R)`jD+ZM|Pocif$6*NpB@w(ORYjA*%4Zn9DKN=P7 znzY5i~APvgfe0uiZ*+o_CE7KmI zyw;Mi!x~p_tw>z9XKDHBeDr#P1|U=1{Re~Q5IWFug>v#)Yo0XUx47~3;!_A9u~ziV zJr$Q=ua4hkJu}#dpK;Y0TwdY(zh%iy;k-T`8>dO8@FXGHH@Es0C5YjhA)e+#ef97pB>7#?o^byumw{&DtcB$gLp-mv*-tC zu|MdRgS?j+N{GQKuiDJhOAJ;k+rlk&s78|wKMJUb>%nHSx&j}gQ83SYXL*?nv*}sU zhwUXfNlVzU+sW~4n&i`@H%ZI0ti)KT$GIehu2FoqNY1ka*EK+sZ+(EsI^c2#g$wTfVLQR@$sv(ipRf~f$OTvrM#Kde;XjrP zX+{aMV+6sjk(l9&C}hyk4;jRb;<|h zqq}|j5`1KLc6 zMiR-muFQW@4EicAWG%jkX4h3q*5aE&G1SA|K9^C~b;f|g(D*UzoSg^3I>{>THxD^F zU8m#7>|6!KlgkfVP52oU+O?XY*Q?1naD)bb_7Rd1`?8TAkV6j+j*1weYYdJZMiWLS zJsx<6QZxPkplj@6cf_CT2Dj#&?A48XZ}v8J;rrFaEcEBy#$Mr`bvrNLC1F1dEi*cs znKGgB3gd=l4|v#g%dyD{y{mjRlP6ObZZ`zumb?o!5NfJWiF+noY%z1ao(r3^ng(pv zaEB_=jco^eesU5j6_yLIjsqD<;hmFdwS=LpBnMm%m1%4w00Xv0T@4z|`a+!e3x!Kx zgvaqf96jpyb8~|*2TA6|%0ds`h00-itc;-a*o1`3%+f)y45Y`(JQ?+iP#H{*mDz!F za_()JW@#HD&aaQ2=96+7=GtA#t0?;-jTXhM>srEO=coj+xXo;IK1s*z1pjrD_?x(SXSrBZlO$@?{M%Rg2WPry4TFkw&uLO3(e9SHI)pxG>QAIKDCfXV*LA-V+ zG4@hbu~yS914Xb=k+2-{E3?i=r629XMHiUb!=y^EwTKOwzStcw+ZtM z{}MR>7uek?J+iZN8E;qTBJPg9;3@JyQryi;aauwO@v+5E@t@hIdZ9D_=di7oOxD&0 zLgEg}l%y@>KNDBB6hK&zzioKg1CcrKvnC>I;>eCFua4*#LNJ}Axb0*|9+H}oqDj&a zqcTsH3&~Cr2-{{OGi21SR=@wITAB-lMCBOx6``k37;h*HSu?O7c58(eul?{-G5L&R zZf!msbXCo?-vtX_+{ClYew}5b-shy1x{bWipqp|b4Hj8Q19=29F<{$F>qpsMCx+>K zuf@5+1Vd*Q&pJ_W$=zB$1Ez-UN?wUoEtv0Ga1yb>4A-@w#iZig(rEJgkkO=0yl40p zoP>-f7xyBlZO!`I)qPf1uQUI@)t%y4Ej8RnpmT<=z@KZLL&mYc-H-?Dey4)gqy=s&&^#NVfklI>hVRi&UbalGKVCYZh z=6E*@@<{CroCmD0MT6J0^J47V_ABz214Ii@czdV=w4FWB*@Hm#j?`P53(*6S9K!;Y ziB1u9Ok!a5)5APDlISLGraH~Z+i3CA0RyrVO7oE$gX2U6#Xs?1A+Y$K?vqN2fSbNG zX41x=*!1Y%TDkst17BQOwf?tUPQPpZ7`Wz;B?9Vm(_Yer7t1D4iIMZUO|?S33|-|| z(C9Ap9BTX+ET(e5;B|yZzj9~~0TJn#lX>+kjsJB4MD`*yyjMZNMqYTlLjYeyy^im{ zCv$^^Ak?*jg&=~f1Pd`M4xkl~>JfV@Sje0F^sGkT2<%#&BMevRomF+bdj#h9Pq5i1 zIeI1~wPI78REe$b^GkRr7@CIy9OmlC6f|AKnr__|Zt7z-avrS{jlZgb1=Sd05Ltv~Sk53S+pKuYM-ys-|Y@#sb(xrp`e5VX+`HeigA9H0$`hk!-9*&OH5C98xcEk0d2q|E1|5zUc}dHihDVsOaS1?#&G;oQ6L(~XgKZ}IRQ zS0fw4=nqdF7R_8S(hK8|TCl6qm!~YMxi4HP+{c`K!860NdRjk_%ykInyEUI+jI?7ExT;3T>_4o%VrI#!1Q zwPSA^V4>9iC>`op^cBO98bKuAgqq?-`kU8uOuM$9)>WTqSVV2`d7pE*YIOBKKvnT? zp?vrf9&|Ttr&s@Bjz#VBgilC_Rt&e07}aPDF~x>PQl;X!Vei2Ig{qe4!d}Wc{?+hc z6t_1?r2M z;ES|-fiQemY;(+V4N6rHwGc!q2HdpZ6yF!`hEHxJb404;M{Vifxm7tG@W(9_t3uCI zShAM6EO1(|p7V+g>m-JSYP(2?S{*6bF5r)_4ektyE)*IoJ0hN4#v3ThRW@~?tt3}~ zw?V_{*A1+Jmcmag&Z;lny%iInCb3eq%Em;FV^JGNhA9e=405eu~OL{S*fz9J$Zyj--w!Cnt7@KArG|{kc@d{}zY21&&XP2=(=a z;|0XjD+o%&On64Fzd10Tx?6(@ZEx?v_AIcu+wIWr=pt%Y)fcL2QB|K+ojrc(xM>V= zD<~91+i)e3Akuka+Wv)>S#?kb4Yg;GpG+UEHoY#i-2L6E#a3?VR=S!h1K90QaQ}4+ z_{3=My(YXvht9rhLK+EfC&ebgaE56kC*Kecp0g+8{5jX5i|on2^Ns5|{+Y8ULa%Jg z%1KrcFv_nAz^!=E!CGhr`uWL4!=RdZ!KuuK%-ep+I}8ywReQ`0RV4z*v|CPL=d*Iz zohKOKKQ?aXlia_uzM0OLt%bjSOMiE7JmL~U_f2-yB$lhS}r6UBAzuH&hNj@ZsYL@nWi=1^c4L?N3>#}6q%@!;`WShAL z`S@Xvu)Rm~dKm9Z;C2ay;RB08O+fJC7hl7{WZg}}dV{qfR%m!H^o(PdobXp8LT*)5Ss5pRD+T#M0(4iRis@ugVo8L8rx>nZ^ z!Bx6uRvhmdLit^z_4+2WA6cNpm3A^s^8w`TxbaCiKiTBcx+|0^3*lK$e079e1HxwP z5uZc{jje5i3`^}IJ5;IK5sSptLRf0HO0nDZiz6k_q!7|s1@ZAZKU3-v_p-X35G`W=%`<~fm!9iet;3R z^p>b+dOFC*84NWVx8#chI1Xxu7T70Cc7S(?^P!*4rp!gr`O{Fwz zAfUp&2BmaDBZXq*ca2VKJ&4$V3-Z!lq>S8f8p1Pz7%kSA2kH!wC3Qg z7=x$fdg>Sp=6ZSzV-od9v-du8DdW+UemELqUMw>kS%qaIYJde2uWN}i8|k24&xd3C zCQv<4U135gUZ<`!!**iv`IpS2D@2d;K#n8o9se~^J73yj9DBJ!GlNO!Xtb`-^ zwA0Ut|90qnJ}NqN4hM+^zhKnwB5=?qjiL}FPMV$#i~OMaLXCTq3c%4_S>vcTMSbK` zvCid`h{6GA^C?r9oFd&{xgpwL{SWbf z5#m?$87KZl2ve`73gW!_dg5W3x0XI9@vp|IfAtTzrw=qCcs>su%&&0ft$XJB3?7DG z^duprGk7JUvI`!X`U3@_;)0gKQ zS32jWug@duYa3D~>h9wroAiRFu$*I& z%12l9*AD2i7dBem2QU2#vtPG))WGL@biv6x0<$(+u#YK78S+vtk#X ze>OkJt2|S;@MYxDo2+-l_6u|Gts@wA_rgVY_o~VqJs;7G3}S`565vL!Mv2OfUKXP# z7}MWtgr>x|b3gOZY{Bcu&nD=7{tLZ-r)#tY zj+|daT&-~sxH&OYOPyHeNbTkEy^yX}U~~rAlxQ<-dnxw){Ul8e9kH-ijDWNA(-#(@ z^Al&DL7|_*FKHOTKhm)z%*rbnRkQUf-RivxS1lG4Nr~0mPm;q{Q}vzSo`ceJ{T5Ua zaj_wPI$)}K45ofMV6wLiC4V_U9ALqbP(;)Puh!Cm!z8y0qoU_PVUh!NlH-o=z;U7j z*`G+;GX;l9u9#~G#DTaq6?kGHrZ)bGB&@u_I>tK)ZQqeuIWY+*3(3yXH4He5@N zsKfhfx)J_+j^Y1i@%7(TpsYT~d>)bP%Ug&+25j@a*<_MChIne*RN2=O3jg#rVmJEi z!~eF296pPfDR|%!^FV_|RBkXeEu`KQ=SRlh9Ds_3kb8xVH0H0sJy0f&^ZMH7= z4-O80|8%%~+J^DPoUgt2jS@s>+xD=`#uX#s z4}`!$lMzNAI9 z9laKgeu0LFtZQDUe)ZL8<}R!N$t0Vbn@Hlfg9;o(As8E>bF%dUcDSF;aM>jisLLub z&E>>`LLE?<{JDwjPI5XZj?+OYo77JJzWeHBa%VY6T;|&1+pt~9{;RJC5vkrPAYaUa zzuASR*{*Us>lOX%$2ZTRqvK+fk+V$SOWg2FJ{bi{W?rH(=s(ct_yI<|^e?=g-TED> za^@y@kGX4X+*l{c;0)&4_Dno=ox~)yAqr|#I6YE=YHnhtmcmNr{5Em8w9Zvibb@zTG|PENAP5jMMY%BtKhdKc2WGTkln6!!I_zkvv07QnM+MxVm6 zN}xW6gs@JcKut9O+AO%+&|H98tEGTol}6Hv!|ekow`pXwH3nPckZT59yEuyhN98UIz`;?uwafLg2JfMAv8(u%{41Sq#@b>Y|Hsgc16 z`DyYiB4*4jf7iRJ_k&8FuQ3iS(5wwo0GeV<90r^n#P&vVwUUz2l3JG9s@6%adz#Cp z1{2B$gHQ_(jX|h%8F1mC;#vbKvmPPI0wEd;12P1I31sW&QN{efDydkj;b)(R^X$q; z6B(S+V&L0|JsgjJ%RcpA=f5xWs{XzhQEym(=G8C>tl<#WQk8CFe7FjRg@?mozDUrd zINW+lF``&WBQ`3JsKW^7%3e6?U~^S;V?#>`@LJ6!cvfk%hm3H;39#FGF(ZG>vk^wT zZ)m>(zMGg{MwQ!*?GYYX}9mBoFRPn4~G}o zY(t}gt+<#gR>O6BmLCW+kXw9R+iYL?1mtG=>b9q^blUBs^u8kMqF^lQih51a0EC+y z$`-&H)F7GzyW)d-?^uI{7jcqf#ZcsU%Kao1Xumo~DU4>XAFvA!3*Qz`l$(ep!fl5f zQ}K6EJt>RX29SZ&dO2>!0B~&ZM-XMFDR_j_>!K{`0_AC4$URIpor*I3ifx$k?!CRv zt%3V~muR)?hP^}IlHEKbw7LgNyN7fd(NrSzbLk@X<-Tm@%h{J{zfW*3&6^owI#5|nRh zd+R9$CBEa@N=8-!mww5Z+AZyRBGSW$!1n~Knj&v3S{p-=O2>03XQPQciA#zq8!(Sj z#Y0J}zG8~nq~60vbCc$rZsC`2Aa+;y-QOl2$cKL=j^y^A=5_VuTOVs0@Pf6gO^aGJ zs4czGZZHT9g~osyq?z13MbK0bA^gSz$QsHa*cUgeQh9bw_DPvj&CTdO#^KFcyV9~FqbkOP@?A&1|=?!nxK?y+EY zw4+-&ZiBZG6gu=!X}tSYDR)(dt`N_WwON{VG0~m$dB@dV)#-Ti5Zy593>w_AM;|4# zz->K|K$3(9&b#II;Ior=WkI+O@3-N3W=2MVU$F>(@T)1rA8rO>NX*?r0LyDMBF3W) z;u%mQp0z_3!onBBVXlk;EGVC2SWE#P!16P^su|@9hiJg_YP$3nhm2sU|Cg7Aw-jXf zO8Ke@)$ny&?Y43Yt?i+I!j@RPzG;jfOO&spf<68OCm?T)r7UvuKo%>Pb6?5W6*0B- z%ND+((RYpP%UTkEWdt`Q;<}BmE?AYt!0=p!X!iyaDXClL8slh{fqO#2jwR{FUu;Lz z3q}3o`)JSr0!_r3?r)$WCAdfkzk)2vk%vBIGj%PRMEZcX9}zy(9Km2WlEAOhMhxZ% z|0K2WGPP}?F{uE~n@yoQ@}#OwnPTA;W;!l%{6mec-`@4q;Hkwixa!K14XUgz&(kV& z!){xwC4U^%-Vl#B_g%Rd^cR%vlkS4@cdr}n z!M+w0P?=x;C>Tq&G|YvDS#WI)Tge)>iiK-8_JyxM7VjSzkkdV8%v!EV_+3IzLP@6(qUiD4jkmdPOX*@{oeKiBN1t4r!@H;ce z&Grm=&Lg{O>`k6l5)WUMjYcFrWMRagFp>Gwuh;e~chdE!nEB4SM6$2M<4<+&(!^6Y zbe8sqI%B!kfv$)Sw4IYCvT}Nb-nR9y?LCsUrndG)UWmTd5x1x#PNoU!;bh9wJ-Xav z+Lv#|qZ$LCjw&^ox>^(yv{iG}0JR&f6l&V8M(S%zsy6yaKILWbP>Q5ylgczGB^)x# z5hTj$gISTTq(Ilyak+S1!H3qw4%JV)lnCRvYd8$^l3MZa+VLcPm1?1sEf%>x4`l7o z0t+qpP%l0QclWmMM9%Cj`FaRPG}DT@V3DJ$?**8I9=?TX5gZna%j1)#VaLJj!%~U! zW<4y9*_UGoXC*K?jZ%Q4VvZv}n^t)ks?4k9w080pNeDD8ibeN?4e~(eIM-pBgb0Ab zhmu#9OP4x}KW-!8^Vyr~yYB1r<~C@NJRNsWe0Q{+GQ5{S`q=lc{Vixgf6LIXFwuB$ zJ#h>8-ay|1K9JXd?;Wbd!~N8-uVFero-v9#-M^@Q4Dgo>Fc`3EBx#=SNnWN@E8}Ga zhHXUJo)+;5>&!!YqN1rkhaPX1dWHtC-p-V35fe&kjWrwXlZHoOskss%V^%#I;;bng zdwjk6tXC#+gy<|TNnSreip$`F@u^8tMpqQII*%Emy$-;J8tQZhX>=vm61&-Y0aD*6 z?NOW2W#FzxGk54H0yI!jxX17mmk^%px?#F)00wvRcwE;=rmZ(6E)QC}Bmu76F7sjx zNcpJNV05p?&x~+@tP0S)Uf1L%^17=yuAm1TI?|AJ#r@#mt{e4%CLSKf?cEgWcAJwL5?Q6@l1_NW;Ns=j5W#y?G zEyeIpoO7IRS+m6sVnd#Y2XN%Z%?RHi+#Vjej|HyD+hFt5NvzL=#D@1a6Oiqw^!)b#sg-W=RH3J85FwTY3cYYfD`LhFcnX{_n-O6==!XF2-E z#V>Eu0KdBEu&^TbT&{3=TR&7Mo1z>{FZWV(J!O$@ayX6nk{S^JmEmyc8V-S5JQKco z?O!2RR3~%Y7`y(Fr1v>8R-|GEEj-QVr%mtBODHdbQCTdE;&Z#W4>Q4CEl>D66|AJ_ zIo)smN5)4vY#ANnqA!14<_^!Y@}cRfGD&M7D3g=Ue|*>3@BHJQ-|->gFf*E2OQLJJ!gLKZNQ z@EQ_iy9EbHJCVzqop3r-x--RAKe^fb?d1Rhc`Y?s_KVznZY5@tZ%JPrfz}aW*k+%r^)7cipW| zIEIXlAs>s7;Di9NqAg&)inTy(zaDD=l4#om_>(ITrtxiddYYT|fjT>lZu5<2Q1}P7 zL`svums2Fzci(;2F%eol=kve9;5HEkc_Ng>IizTF-kK3~#vI+Cadb`W7qGT{oK(JJ z6m>8#nRcB)$r!QM@$zXyo_6v99pPcOf5+otM-q?7!%B=A--#1Ym*Qrph8COQBdt8x z1C7zHw1}QjMm>-0DIy=_w7tWqWc(nX*ED6N2Btm1ft|^&fo&pq0Xx+yq?;knLga4` zpjM^?q)4zpVIYYEn#^&5vmRlxGT&Yo>#g zre-B``jF!(S7w*rFURA&^qeY?+%*pu+CE2WzrgD+*5{eD^pnQDQnNYx=ltaOhnLTf z$$RYx%F_ERy-!}$HOf3;66#pIU#|*4VqZMa8`kPx=hcEqoE+ZD&FVzu&QoYt?_N3; zZ~OJj#+Ih4J04W7)^qbF8T!o~VSumsh&`QiE4^gzAtlTW1Kj0<7|adL2dK4L4G30g zEUh@)M)fAP(KIr-8=5B}*J`3fvPv^;0>Vu-Uibd9yihOSD^HoH9CFPmYP{Iqa(0>o z#3m+Dqm1T0J)QG4zM-)kZmp(r6st7UtUTOI4(B$qE~K0mN<*TPlOfOiEvK5xO#(M%>V1n%NH>rukpQL`*ILP z=9{j(CBJcrucWKJx9CrVvB1q4iZ4&* zy3Qn;IRh|OLk$Gn-~ehp(V28JYsg>?!rRV4i2Tw3zo`m-b1RsT(i2~4Q}l5_GtDVL z_fZI~5-d=U^7}zN?d;Qvod=gG5ZNFH^LO#~V)FsZ>PIFUKQ36o;4ir|99 zZU}juyV(o++t+p*NFFmc6p+&9I=L)A$*0i}EIxB_xB-Yx(BI_lWl|*#X;w=Dvo`!r zx}AT0m2s#Y655iI^Pj$EH&SNGH>3v zYZQN$IfQEAV^ai?LAJeA$xOcB7@#x^fh0xvFPo%kz*h#gR~nlg8((GxA1HMJcDLNE zv50LscD-PV-}TF3+2(|3yQ@1buTZR@Y_oAHkmc?h<&qCE-7j$C%?oRX>hl8K93(!4 zW%ePNz?XGq2@Q>g-pL(kYZO!J==BNc~q`KlhLyjlluEYP9Iz zH^`Xb*7}zYA**R77uPYK*ljc9uBu+iUX|hkD|RSgl@bxJ5y85Nn+nHZIAI7Yd+U`= zU}avyom`EoX2Q>o=wX;OG<{uwF{GqvO zfC|+Oc}C?N*sdK?-RfVxe3Q^}fC^O)c}Ddd*sdN@J=MQUsr_BJ@^@C=jV1(* z5rqH_Ric=WEX;E0dj8KxFP}BjgkT|hFw>w#fZKFnvTyLb`k$1M^Xh-X!{*ihSYrl& z-2wCJe>^OB`BTF50jMAYSf1H_1a_LwQr+sGy?pe~=IQ||R6XPw)pKCGdPsGvfA=Dd z01g)-f#(`T$O1MQJl!)x5@$zrX1KE=FeCi4VL5-atmIt zh)CMuQIcC32_4P$if}YWtqVE+>1x3WGPkP*Z?D%iWw`A)rKBg=5$JACgP>r9Y`NXi zSzO#fp4tqN0~eHHXrGW<6_WW*=DoACq{Ko0E3M;`J4sxU;AJGGev=T_QaoUkYoZgA z+SQ~-5~!AH0*T=vq4YAT!Ne>D5UtNqYGC$pQiQfe%HpKLqEZ*qnS6vprcw}erkntf zO*9BXJ)zt~wK*!}MJ<|U6~NIa47~8w%GN_p9K)&K4=f87nJBjP%F0^P1pJ=H;1dz} zNOm8RoN$BLUZ>pa=wlTb*|YN<$In$up1^^$RQVFSY^Lkeuei?1$T=n+dicxUi$mzb%=s3#YA#i*pt z@v^nPNL7yQTg{d3d@txcY~+BOvJA6HwgraEso-wsJ4ucMV$KNtdpk4dZ=KU=agt4| zPLY%-HD77K^g@G?}5Rc)#;=-pQvEHW>2@I6oZbosaDQ#d138s7u>S5y~O37Go|{ zj2$%|Plgi)f7z+B^SsZi88NRCrKy6wPM2R{ zy!9U%TTep2xttFffRp~P!i=sskKhfBS-a#ycMcS#S z`zkA;P$tj=$lt!hXVf z6j8)|$eA)YmId>S;jFvndA1N82t$^@o_P9^d*M(hSu|7@99(IRRf+EI|759j`uKYJ z`NLPD)r@MhCtkgJ_CLHIxK9wxd-hiL(X^&a`lj1{u3JN9w^K!u! z5|lDzz`!Au;y-_nMl5;^CH%fMom5P;f_!6}xZ!!F3%`E+=G}8ORA1-Sa+ZtYyl_34 zGttO~%cL5Xli6g>BsOahLGbMH!#9r=0yd>8fq^3U$OK5|L`>r`!!n)xi|J5gfIWTj z@Y&P<_xLp*ViE!{p`@M{^IOP)a=EA{ux97zdFW#J!N4#Q7@lY4d0rw9MD-RMVT3+GA5q{MRo>Tg_k+cz#$5k_qtd`&wv}1*<{ZB zF61);YSKtb5yl)@xaR>`M3_QQS&w^&mmjbde_d|~CY=93ri8PpFJ1L%_?{U@1UZDe(Ff<%qTBb|?_eI|v9 z*_u&!9V`1k7Y;`62?aA=uo3TSMC`p9o>BI zNa9if=4yXZfs?2r?5}_AU@|-*Lo8@yHsCC}5K%mA-xa>R8yq zzUv%t^8(tDRKb(Ud}NmZL&-C+j~!x(A93;QEQ(s#1mT7P*knO6Fp9ZcAV{F0Phb3_ z!)d%MOJCG3q-i5_TaD>@s<^|Ca2ZfzlIBQ@i(cY9-HBMItzo^@)CSS;|V*Gi~;X`^j%&Tg=oMOJA zM?xrH0gorDIA_FAvVoQPivmBSJX8=y+uq;^VeJ`mYh1>y<+4$-*<6>T6`qJkd(>-d zDx>Bhh{++aT^IOtFfFUqK0@dJ*YMqY<4?9eR4M8aI@xthV!yd2~vTB5NeUH^X%z$9F=^tiuHg$j= zsEJL&&d+B#Mfnk@Yz}8H(ukT3e_u{2Jo)Hoqb8aob3WHFlpgjlEORV}AcS6FS#0~6 zOUMGOn^F##<3OIYXq}XxdJIz;By{IAhyKQuknLHj0&2K~#zD)<94wL}12L3h3$wG0 zg7ivH3PURJ9gVgz*pz_flgDg=zWbF)kzZLM#w*sLj5v@*oV|<(rUX(_n4n~Zis=Qc zMvSYoC6fiivz(2q`YhwTowCZNh?Vh32y{dJa|=S;u(wKD_aS^MWWV%Rud)-Z+vCrn&G zoY7t}mN-RYHiqG>c+~j_lWxlG*F&_aP03)PR=+N?{54-4T%*)%u_xy4o}8wxB?`ul zZ7H1z$!(81_y}R(&lI)LOvALnMgtfa`4VK+I%Er?R!Q!gI+t3sq{8#S&d1f}J1(fZ z@Y7b?Kz$U_S~%Qzv_`L-=bz7=e99;c7D3$oWA|xWxkLzn0~@dT^MrN$xy3il8m@cY zcUwlcf!KOa;}jFQBIOV&mf-J@n@+A`ahNyAV$O~*i{n&;xU97nIYPn&s(mS5kn|3Q zRHn<}W)DX-kn=^~7fl}vd&Y4`^T@krQR;-)LcxjV9v@C`Y8|M|Z$A&nCi4 zj>0pjJscCwhV!3rvtvV}d5GG*T&f;sM0!{g7)?pzDS-%(k;-LS(JlMFt)!<`{d zp|I)vut#%YuM=cLgsO*evcz63N)kVNA~Xp)Hf%D35hOQ4aB>n{`&{Jdb|+DR*B;Z+ zhgW@Z7Lj5tgB^MOZ%nHxstQl*@l0CoU-YtnlGh(|ri*dZs2I#gL6lN^*aPMAqwt|( zm@S=5GK^_e73-jB5Ffs7*!O40IL{B0f`-Bf{{uacI42~i9ER>&=7b2QDGB;Rfjd0O zK2xESq}u11TIk#qo?1L$e+>2Ym420O8JYxItkDv3>4MEML3!B7Q+q^RBMRprcF%-Q_!bt)zyLSHH`%l7@>6BYERFvHcLVSb~8=> z;$B166744?PF7$M5BF{@3?_kmG0r*(t9<))-Wo*GDKRvR&?$6Lf{UvhOqGL>Z-Zc$ zxh&cCn{4WR<4AbvIU|W~&^=Q8dZ2~1#n>>553(&OlHiB7n#Lq{u-^qOwn8&@*@K<} z3ec~ks_eczyza6J6IhMNg)sMFW?1^LSS6rBz8XrfmxP!;`uM-Y%uVP|9lut1{u zmG$Tz(et2=vuujiRbIg`^DU`hBkX_#MT4R=Kvn(DOXWCE^gdp>B`IONX;L^9S60|xkHH`${=^A`Mk6YhHh7^~kI+)>D5T0X^_`M@edS%LKgte8!Ccux z1hED?aHfmi?+YmJmLHq;b1p5|!lo}y!RETbRtIteya&}#It&AI7pUqNcof9hB$X_s zolQ*T%YzXNi)F^@brt=HZYJ9$P71&*o|SyvcRG<(@G%F6bYal{n0v7m^XVm{W{%cU z@FK=T#|h5JGRGNml5?{(sbZp>fh}};$AmK)AGUM>@s)Um4IYYDKVVY>;?uv6X|_oa z^B2sBCOkpm%Av$WlVk1ppldo>U={w2jM_YSS8MN%%fCW6gBeAeGnVnND4^~usSSFI ze^fmb=L5J2!E*&YGGLd?-*lMFMZd}&h8LGLQ23ybW5O#-Qig;Sa_bHaZ)v4@sjhZK z6v9azOb>~`&`GdqwX>6A6Iu-#wyw%GQ=QQ5X+bCDJ9dlQ3+#FDz}h%8?o8lW4nIIv zhuw1}H}vZ2LB@|1b24(_WKpO9zGK8O-pAkb2rzwSiW7s0V}4QIKl(%46mz5Eb?=hW zB)(H22QtYWDkrzp9cY(`Yb%7~aC$~g)4j;F_@~=J+zU?NES@nngO@DWMD*I2f;%F; z`@y?4dt?g8vn^v2#}*@cT7b2!@~>&I8bMbN*=Rk*^YH+FHpXFL z6dEPSu?bvZg=1iPV+U{9Dh<)g4pT0Dr$v!*{QMsgpSZNO#<$uWMjiQ59Hye;ftn3G zW&!kFknSXjS*Gy4-Jft_ehk+<$^n%I`e?D>t8rKTM-ByVW zNO(1g)hU~P%q}a%57ZCFY{@<2mL-n`#}Kjs0hjK;?{nQB`~3<$F8dC{mUG@WBfSsg zhBIX_(^fC&2z%w>j#hJO%HkB7MvewHkrlvkgaNJzZm-2Sh<>w#5EtNkm1mqvseNS1 zU63us)RT_4-m&lrgm@;acv+lOc?mWn?y8A?U?cE8!=sT~j3c+k+0ds!;|XoBjiGK& z-thTGf(7I`=;c;s>15o}q01F|+_!}LBi#4Z=e_afxx-2Bh{1^TUB3+u1#ZFTq<=^3 zr4HAFk}n|jFv}2g&MAP8w$C;P=uh+?orpt3?qF&y>(aYaK~y}JjSKYtH-1A3epu^@ zMVC8!)T)7sVPGpOZba$IV&l!Ybnzh8*?5U2_g+HVSYHoMy5t;2Tzub9{|#jbneRFY zcN_6yZu8~FZ~n&QHU`u9+c)8BJpN`yyQN1imhw-6%V$7BP#=Ho3t`=f7nMl8F>-`K z?;|MGb`OOeMH=K$Y}Jm~Z(6kRvs;Dfj2^fnXN_V(aJy4)TfKkH)q5EaAoW1pS$nm* zA5f%;s_)(Gs7oV(eCW`>|2@#90hL*&jPh}|oYq&kbDK6IaR;H;X@NPfy#jw|$9rg! z#UR`5EBj4Cc*8Pqc;b;)CgaIuQKHFR-b0e&^BRnDFUP~`bszsF4FWda$A3wpX3Tx^ z-MH$l?h`g&_xACCQcv(QE=2GpGZX_HX#YwbHlpj>S+;h>jJg22H#`I8od_0tzBpf< zE1~ov$E(ceq_W6tr3DVp(S8i)U~K0=gD+LaeIj|&*S%3BuLnDK<|%S*#FqP6If$8z z$4g<0vKTFgcq{DJhtv93wiROgm`P#Yn}ebIRA`_k8NsXjU?fJjLsU@kl3Z3!E)#cU%ABnqDdydzqdxp^DRxrXRm zq%4a<+@b`}Np6;P&>)bY7^5tjcz({N=XhU>mD^J{l{(V7PIXMb^BQL_KgXzLSBksC z1fj5ub5>eo$E!HI1CieG#An$am^lHTGQ5`LcPP^_L(I$RdaPLY+0_-N^U26iI;Tak zxZiNSso{E(_g07UNpn?I<=1tHVh%geBZqj+BFKdBk#ZwH@H^`wa0dn_oh|ybJ2vW8 zAC6SQ+civ!z#u4DFA_ssD}pJNmk@VvihbcRl{I;GqK=0Hq_L`h6rEA=k(>Q+2h^z` zj;U`B^N+Cm0|~Aj7l>=Rd)EHynJ5vucqaVcT3tKSDLCApKYZmFZm^mDt3?4U7z6UY zo9w;G7PuSby%@!PVSU%4tmX+$dHmFj_Sigh+hZ>6M7@eml>`fcua6R-uW=)b}3SzH5*VR}AsgMV@A6TRPB|=egm^Z*uP!C9r6+SA4rYtV|K~UF@*j{){H%2+n?pxyt0s~Q438NFX0}$ z3dG>FAimNuc|%=uL$=6<*1e?!$s6g&TRwTfL5kl#&aGn<;fZ#1+u_+(j_OH%n4y zIO+4mf!`4zc)?4l6}G2yOflef1C=YS{O+19C%R~ZOHE0#58Q0qIZ(z4(!POe!zEnp zLE#Fy67zk`zt#F)<>e%Y^Hu2(m(4FBK7&U~44k1xnWkOOosgdVbIuQ1#1be@TKuX# zSt`4@TixrZ!2~S+Pszj1eaY;-bnE?!LFmpyLFiC*4Lb9vO^p!}lzzzBY?B7eKe*8H zRTSX(zkz*4#1F?nBvfSi#p`I(W}9Ls#+VdmP~e8F?b4u`h?7uCJdp4uO^97f;ErO8 zvKZ#vN$iBpGn{1=pOZ4gi*v&4B{CeUK?*G*_$-0P8qu@USUY?&P)|$WEt51^=4>?9 zmSi!G8oUG-c`fsV|FSES%wClN9Hm~!IOFuR4FoI=9_BS}cb^)gK@iXNXSh|u4G$m5 zEfC8y+d(*!2lRi8E8-hW|9|qMQ=NDA-JAd z+`nGW#MR#Q*E5djt6$F&>@2prALn++dgfjS?YAO6~@rbSKg;rW%Yj$s~}x@K&rDV{>XD$u!6 zt>PHJa8IEm*bo7u=2u*&eih{L`)Us*2$Ro8Rv|q(S>wMZa?2fM5CTz51-Ea&>TqlyLt` zMu%nV_J^GF90G+s`A8tp@F`L3m?)43#Hl+!4<q`apNEJI8T=hoW9k0t ze>8%#BJM+_Vu>_FMU*~r*eDcFb|@FpxxtQUj9lWq;Rq+hVb>`5MBSs{qgVh^& zS6TF&@S1N>*iWIrXNyr)(kuYp*dg|T@}9iHiNi`pP%8@C<9@>@&DEnX z60ZKsvk0Yls?+hDcq|Te7h=mJrU`t9B(Xfhri_WN1jo! zEe7PmK_GEm8_}rWWI}OEm9mt8e$4N_U|BL}=G= zk$Jit@iXS4%4Kjg9n%6WhZXJ;kW_+D676c?JST9eA<^lWd#}y&@}I`JJG}=u8HFC? z2tULz8M#I|U5()$U~g2RUQwqm5%6c%07(>>RQQ||jFIR08JbwqG0n3_VM{-4wCpaJ zMA&H$JWddvr<4440j2WUPpsgJGWJ_bX%;lQ=Vb%@>}0(l0h0Tmqi}}$z<2k|PKZ1> zC`y>-3PZa1>=jZ3so!axu~JtwcZA_HPT!vr_`BukN z!)$VP_VWFI3kUd1N7$ce^VIN zaquR!3G@8nD+`7{A!M`ntL6Z21tqJ(g93m9hKsS#&qWMf$v462@LWidT|NY1)MF_G0LS-z5Q^4a9HES8G`H|s`G znn%n2kk#4oV~lVoi$GGJCpnN$fJ=o5D$*R-=h@{+Za`v+1NY_(<0xn_NT5(kd=Vbf z{8wepw&AKO@smQ_yeXqK=s|UJ;7(E5U)DJ7s&t$OP*e|ZHMm*TSd0%jQKbdI{be|S zfzyY`8pHwOwmA43gu-%OW#jx+UNXXFs*_^tN4FQ6utPFDR$SRNtsR*)tpkvGIrmFBowZr{C^ZeI%%uwyHeU|;pK@4d= z*yqJOa}Z-<5c(Kb)#FFgtg5^v`v}lSfH0QV`7nlqWrr~^-71?-^Qm1_rpLeFOUV-5joFPx6tsTwi6cw=x%V!X~~n zW0C{;BL7%lF3cv2Gu7kG*} zDurBg#-f0wDr=)AC(3Xc-MF5xc>tQd1ujy3@QvCIFLV5;$l;+C0ml>jJkgjz+Crk2 z?oY06^oeLZ==a0V{rUb$E)%RG-0-prx_A=ZQ}AOx82K%IaiC5|t{kmhic4)w8A1nD z3p_I$1EVoaIeHgq*zx3DjlLZIC=>w07xO35*WKXdh39zX0-x*#&KF}Uhx%AN9JA@7 zkA@HPf~RQ^kD>?P>M(Y5C<+bbQJGa|KeOUpsnw`v-tPcD9%Ug!4p+QspoS+HmbJ5h zphB$D85&=+x}#N#PIn5gPT$_&hkKmUf-aZToScR>SI@2xmH*X^u^vCyKofX@3J#J9EHI{fxX_tw7bt;27>)xEV^ zXYm^W+v+68Lw|D}CRMgWKKT_ShH2ip9uz%-2`-E=|dnT{f zW;ChIWLdW8N|yG_N;R82Rf|lzRbIKta5U!jF_%@kcB*ajj^-)RYGu=W)#?)sqjDZK z!>i5SJlc1wkdR$t1I8*qSqXF9pj_A5HJjN(^gUY`fD@4`Y%U@;M{ycK_+r0%D@qvJ zF4JrUp?xuA_^)2qWJs@j(Z|~$=k##Srdptoga>tNpOMdFxDQ-=F*Zm(Ls(afKBuvI zV)R($UBzcs8NFWm*`D~|U*UF09wXmYGvvsjLIdV~R|u6}@{qaclX!i-9^vPO@999) zLPGEGnoMo1nlhA)_6xr44~(G;5twSP6PzVJ=>n2L0G2>$zhWdJNn%yoc-Hq5>^6_P zmXp$czHDmVNFJQ~=(N;nX9Swk5#0j<%OExLaY>2LD+@~Po8Xbskeo~h*H0Vikd5;Z zqg^177`Kz`k0cjfAh%R1&zXEk-y$GNJ?lCX_{ns#Smb0L)3xIutl_85xpPEgkCbkZ z>u>^8g8tMsI;)3`bA{XklUK(ZU{)(B!K-C8ar%PfEriL}9e1XwSlNbCRYFr8Z8KjC zTbbNL;}3KA>LYkZ$unr!l*$!q(aodV9#zKAMak|i;d?JEuT9;thgJ3LRTTO6Iv<8a zhdN{6f`k2RCBFQ_7Aih1%w1LMrTLtdF&5g;I!kx^p~n4C%xxc~040rVmR6#aB`}%3 zXGIaZ0Wat~En3yQhOJ^i%y@UDsbWB^cn1fmrV6AjV!1di?D1;40Jc|R?B23f7pzDh z`^vibiLK$ltbx=*#G%wr3ye!u4#U5D0gfreu>~UR+#E#wut2mOpF`>27NAm~Ih^`w zfhmQYgQ=eu80i=eXghoprwKzL;Kob14lOaq~Y|ijKh~?TLQXg#AMQ=Svj`iIq+Bih) z$`vi;fIaazm}@iO$Rrb(}$dJIYw1wsVb@@&-0WmvrDT4OIbq; zdi=Wy_4~SRi);eDd;RS3d{~TZCqyIbt8#e!@$K7J$ItWntT3yA^gd5_%jB03!tCMn zG(RabvzU?Plzch@OJQwxv`loN=cYF!`|ZFyn^g7ji(>wGwy@AbPG9D@j-H8EFkURD zQ)i6GLyVMc3@sZR0IkH30{}c(uS0YyLK2&-T{D}g|Er6#o8{lZFkexxlKJw zp>R*k#a;ZQ5I1i=&+0P?0N>l~OG>_k8~YKKW?6CjQ($xm~<~seuG1hfTBn!rCM-~f9THXj!%;p zB}G@^gZ5qdL;U5-y3*tCgio2a$swCXeEmZv@vp3ZL;ii}Atp4in~Rc7<)Evr92jg+ z^-EJ9Bt~(s!U#GWthL`S+2p`8$VPVa)1cQ(DSVrqp5~*jg(BAHD^l72epbd+Ojhv3C)^Xe zTT!SBOoTV-XK$QG;@s_kcmof8| z`LYz~ZEt%zJlpDij(;_Y>(Urs2cwjkT5W|rJ{e!8(YC5&x^u^KRpj9Ap;t1sxhs;5 zM#{oRVpW_qh3PsAg`%6CIhQ|h3*G;(CEMuy^{<`37)F+UHoxqeDP!>kC7KZYrU9XU zX8ioVD5iNf@0pIt{X%ruTfH%9rxAsSXC(SB8l5aQ8(fF4K{JrLZjF&MQ;GkRl& zX0-c`!L84r=QZNyAU)$c&$67}N9BWkF){=p_g%MLBSHFh@YzLXbXXpG$NLyw7rXC0 zsBk9{!|n;O3=Cq^A_d7$0LZX3oHzBlf(yvLp&U6z-6HkAX~|=~Ex)!HT&5D&i_|Iy z4~(Y!0o}YVUK1$am@`L01z{g%d88#cP6U`)c#&1r$D$lH6qaCSVF=0msLV&)!L#Dy z(Moh@L(t`r97fs~1GMR|ZygI7*OfDV>}F47HInGhJv}9RQ3pqLV(;6>z-==At?Sxj zm@;s}M46=u@Jk7+-MVbJG=RLbUGKcp7U;UK@2QZ=yCSlsXJDE?x$5HD*-;d-7RtqL zuOr#uo%>2&T}T<~1>KOVp3ouT^zm*x*Q zzWH!NC8;iX-|76KQq3iZFDx&L`i$wN9H&NU%J>+lCDCJ`j{G(sK`G^;>KAxi}!-9D6Ch2v+jQb;c8m_I|i3sg5@^Ax-`rQy|%C&(r)(Xh3F zU0*=pgUpVF$T8l#vp=B4e_O&MMswaXd!2f@n8Gtq3M)JrY#ad1(0vq8b*nw`t^f4R z%VWT7T9qoOX@+a%i{hhYa;gq^CiY+V-=4Ei=ZDV!u+LuS?EY-l$^Na!<`kP)U7TDB zl&AJOf_%`xR1H3QSlL`vn+?^JMMDCGn`Vdb-Y;wer<-E zZ5KZ6G&c{sMy%tXR-ALO$qsOAR@ruE2hR6Ak^9DI+=y#%S%{E-Uc*?{B z|7Es<(a`IbO~zi^q-$%@j8S|7vM*$Ya@xq$)CucqGs9wW$+1y&wakaAICLOD!L~`# zuir_@FX5dO3ePvy|NGf`5~V-Prc*$S%8_YN2lS}?pnw|USIsG+F6yU2SP8{JS37&k zwk#zbb7Y8E1H-r_Yv-Bm>L77byi4_fCJMKOp<@o#y=-=6|NG@+I+Ay%0vS72=NtkY zP3sY>=(H%ED6TSnqprv6i}`H`>-OSzqk^;|91|TyY?YLseG2+yt}smOnca2bjNW0kN}MlLp5iTtbwl{sQxegcL#4X#+~2{3=4so# z7}MVBk$T-^m-Y=(-7Xql1KIsr(BIm*o6ro&-X?-{E*`Wgjh%wxSru;_vKq`XV$`EDPfccTY za(o>gEsG+FJ1*O3h)8b31gBEU75laVb^7B6t~2;IL})kea^yL(1rL=7S9=ad#DSDX z&cG>~_;t#3R(E_zv`W&x&q|aLO*mF57}M2G>;GH=j(sGSg;_Xk_Ac z(FwY0xyPuT=|t#gc7v?#SR_6zczrZT{WiAcfK*t0s0B-Utk_X_pRFaSl0?Hts~&H_ z)ijTMA1(w?)7b9R3RNzS;XASAOK41|d2JbfRF4{_qBjmT>Etk8EO7_#wdIL>dG@^V zSU-9;47aC{;X#I%)v9n?#In?d9!qPJvWY{p8cX=CWGZ(z<~40IQo0nk|EQl97#%De zlBW1@!Z;&1l^W;A$p^lRnJAJT{Irx$_q2)_`WGo>q(=(!NDNjfmKZ6b?G{!skr63M zcGp%}nPU}p6%Ba|Zl~LJL+?r>%!l4Q3xRj7<>kFu#0Y7c`uqmKogBuuv~Z+YEO;x9 z#ZDz=*#tMpDzCv3R2_dDKV{&gaNq60Zm&xL{Jqpwo}NO|N%0U;ap256Lnil2cA{$;lD~9J+h@g61CV8hvuZ#b){;0t+FY5fu4-$U2Xq3=! zaUpGsv`kXScnTL-wn#(uJS)#f#mD*87@yO8ehTqgzBFH|>GJeS43ZkW`>zBclNwf( zD?rI|F4f0TGTDT?zMn@V3^#EEtAT{%tQkTP{OuyC6MpIik&ILfPGIT1%C zS74Bfh5Bkp;6Y|c)rt3k+Qb~Qxv)mbF!0{p12#(-TWiQ?@qR^b(l zI0BJ%O!xzl6nh6Pbb7IA7QZYYdzZ+8?NqY4eqN07DcM%5-_0B9zjaRWC`?>G>iq2+ z?*^I>*#GEWWwISnIfybuNjiVdPx?Q;eg2G)N|W0A{dU@XtZP}nFZ1&94a(`l3>#93 z#E^S!r#oj1jv3-D2U~GbY?SwnN_9n+@y_RD3yk{V<#UKIo6qYPJn}H*qMNy6Z!Rwp z3VQt)0@56N5?ytY9b)*S_olUor>*Hc(-2Ly>GgtUmkQP&$E-h&VR}6(rZCiqyNm2C zGuKz1>5*`GcWQbZ$?`JSbv%;gVI)uw3|Ug9(=y>n`Fqrt_vT^bM4N`d@IPecJ$>#O zp&1Oy7|B2oRNLeyYL{b;GLp7D#T#UKe!-AICx93*_&uJ7#b2x^5Tj52jprh-n=0-e z133TpZC0v#B=P)pIdTlHTneMX66fA)-Zy|%BPhN_iLDm)!#KVehjR;);$kE3!d%+~ zzv|-ASyqY=`MLo^yKTe%P{2K`yZb#aui(0O8aA%_83npS_nI+ZDdx)=;enC1<0X>T z?W~O3b45nS-&fP6-y;|@f~EdnUKZX`kg-|!;TG<|-xtfd9j0ES{pnnXx1q_TM0#gw zxf8=(COXjRap7Az6t{{a|K?2JTjG#s=EWuMdJIt@Os8W=ap2y~$G#U9baJG`AW&rB zDbo~)4&IhruNb5dXK@uzlJ`d+6l;IB=gEX`2LuO>l=l;z@IGmBIN z=j8gA2_{MCe5a@}0XStWn}4y|t#Xq*X1yo`QwdGA%)#wpp(-`^gs>wDc}%>K3J-Q9pYHI2fkuXpjYBV z3(-cKUFKxWRxf(LKT)hw;kg^B7j>H>m@uC@|E~JlZ82S}`zJ+R7Y>k`n_b^)@RVFu zVVWc0RG6N8pRik&3|PtrK?^>nhXzx+pL`zoNC)ITRN=t}cXW8LJFVWwb!iM=xfD^X z-q;d@k6aN{Ffy5Bk2{cF=tvM}TA_s%iv7Ja==@(N7|J=&tXH-myK2q4)vj5vaeC{n z57eENPv`&muH&0=RvP|=!$AmRe9`%Lt597mf+fOU=$6dVw`z?on*T8n_x6EtcfjIC z&iDWbg^xE1p4i4&Dy#jX96>pbZjTO@uI8{d`jDM%Z;#HHMrh*OZRie33!$xGkOlfg zOHIN6B1@b3VD%~GN7VQrs+6#vR(F#I5kU7~0yJWXj9r0*%^)u&dt}1chc((3pp*^z zBKB}7?qEyxh`c0R=Hj}y(tUI$=>rZ!5-d>Czw+X?+2IdPYDVG}HuJbNw|0OO{7Gt54+upvQ6Id*PCG7`J=2lGjEGxNc=jMQ75zlsst8(j&K zW8E=DL@+({vHHu%3wPHJ&tt$V#Tfo7;w%q9Yer8*qd^7+L4L=b4Zxx|`^I36`Kdf2q$+9-jXfQT^@IWi) zL?k;+2za|jUJKbb$)_Fc-BZkk!p|=&=LjkUBW1tM)}gVKr%Po6xb1y%c5I+QVO zAKGRsXf--c+yLi4oGprWcHrMF080v3YnGM!70q~$jNb6HUn|<+pHXmF1H?BW*?(_~ z^L*}eYNC0*vZA9C#QwENYAaM6Ii#80Ad1w9l`7yr?Xf~E!nTS#P5%;%e6nYoM#XDg zd!0}I-4~&Q*mZbSv00-L@vVMPaGm7QR-J)>D!sCmku~;qV6Kkr+o|DdK~< z8mbYDzhgQGk0C_;<(oRI^XOphYq%gz&*Bi%5R9^K@G@2mg8{J_mCum2MrXvtv@Sx% zUkhcCj82qj^0xzMJJQmWkO(x9$MaX+PBYnfYl9zikA7C>V`BlE77+flXywl<%OEyq zLrtrz^7==+Mko}n&7r5s7GMy=Dk3!bw)

    aFxT2(arIgg#F=;3^LR+O==g#i)9Q|4I|i_Q<@SdJz|6bS(c zV)_1c428-Km(Qv^ib3axaTKG=C=Q(;#<8qxwN>_Gp%6hlkFxniR>klb5MhY}X3rQJ z3J}J^#Bdae&X3|~B*ugZRIl}rXi5YMxxF&rv4Ts}L=r%@CHAdDqvq((=K0TISCnV(0o==>m# z=h-5LLT86DJjIf2bfb7EL>SK^i;iZJAI4E% zPUEByfFPE)U`=?GHO?;&Tm#O08eOq$payJ304k{`iQH;fGe z5XMqw!>Gzd0fJcGHR%WMQuKqLCZjxRyPyDHpIr{i{VapS#q7`|5I!-NDf^m=9=EBu zahtWL@wcPAAyeAFL%C{Lk+uB#zP!;rA;?CPi4ubx%4`|&u!ULv=OlkW7-KO*D!}~z zetdllRtsncg=Oh|nI83>c%6L|^+esyKB+S(UTiiiKvLYhvp+D3dLpG!k2O;4gXy?t zxTiHZv|)eoUQ2ozkB`c@qAd=5w^^%wT^v% zeEas*@$D53isS0g7kH zEWTR62lD#zeKv^Nz=2i13Tr51EXXLC+<_pC01g)-f#(`T$O1MQJl!RvVnbVyq62%g zG#vARhxVL6Lx8{^N94l|22_fr#3bIq!buF_S5}6-G@{x7QqcX>bQrXZ5;j+M@C`&_EyWc765Om<7#m`Qv zney3^9C{BiEl!K2>DIU;Gb1(=mX4sMnq_}9sUQ|i*Ov(Mr`Od=K>vhgvcDq4nozS? zT^C%Zq@W_!H9||t)3vp*{;QX7-paQzVRSNW^XxTm?CW0leTRv$@axW9uY%oYJ1Dk~ zg14Uop52NORBh=`C*ztY&}Pga>MZ|_O)=O6?2!9J_%1hyNkCFV5QZn6AXEnB@YN$( z&rIj%*fZ70^jBGZ)>7WH70HfAcvS?xgqFieG^X2al>fc{8QcH9W{V{@Pc=Z12NiF4 z&Pp=b&SeW-5aw$-PboiPq$q}RCcWG>wo?Cb^It zA{xHCakqAa!VaXn(%+YZRv|aFt_2I_J>>E_Vx>_#FC+AgpC?=&ds@L!d6aUk-Ry3+-Y97&ZWE#*l&nX*H<0=xN^(u9Pwx}6r* z)gyl@4Cv!N5Cz{nkDs%eBJXZD$t^v0!YN^C#<*9r@oJi$PkbSZ<#6nx!KE)BiR#5C z2Q0XgZvgn4Yy={$>kG@tDh$n&-&mElL;|9}7q3~hCY(Nll|=k%bo*r~Q2uZ@ESB^7 zjd(Q6)Y*N{$yg1rU))M-gjs2*L9G6E4H~gAUly0n5Sn{ehnPtH;qkM_Zy$TcjZflx z)(EI^Q%jy`Rl<7LrbTkWOIz6=Zi#bWmrY|&Xhy* z?-qcX%p6Aj^nvklMF4q%4-^(r0ti0?7)^8*kW{2Nko@&PpWr>jQ%7|~#eZ%21B`S)2)oVRkl(+L|}XbPdp$`RFVko}Uz-5^0p+Q7R>nOQ$aGrBr5zXf38i zg5_Sr#;F7d4~e{>pFYS75cdO*S&>2;fJR9J0GBde%u5(#Md*SDTEWCJZ9$+a(@3d; z^pi{w1!-3>fkr%@Ws_9m5jILRLb$|=f?gsqFF@Rr$uza+0W?Y)0JxO#VqU@^D?rze zlhG(o6+Rp|N*f1psgp&$^zqC9g?NP~kwAov(uWW(d7_|~I?M|Y_nhrt&Ju}3*eG!b z;SwhbdWpll0C6vtvy(hk7INSyc^t&0PZsqO$TI^Jz7nSyi8M;^D3ub(rBfI8QYy0p zw7$+plOmB&gpE>(5H5+LpqD<(3lcX^o+Jp{K-}CnNkqW_ar59LVY)nCs81peVB^FA zgoij@&`%uX1&DhiL(8O4$AP2daS)e2S=3A58y#oFL*epdHc90l2aZ#SARY=uQ9p&4 z8KCfOp1STb$S7?r-z5wSd8uMKL6SbDvJ5~Qi2CGV7cUkd>r;?b+!r#5E_k~pN*BC4 z;L?S~{B%iYNtZ6}8<9d596rUUV)-snSjbD0+^M-F{ha6Li8KLdlqdjjsp7@FWI>io zSDDX8dC7Un-Lw;3aL67j<*4&dBql-{Y@fLvH=K(%YM0N;>Mk@oh@1{E?+gX(>h1^PCpy)Jh)4$!CCfcoUe zg_1{uxtFA*#34}bnTe7n1WGB!G$5v-6?0%K@d0@|E+{|9`AZyV%f~X(hw%|BeoAit z%IicjeWTZq60d%SuYh#yk1kS-)lDJlZ!^mlWSzh_voR5l5aBP8!|2|m@I0A|ZInh$ zwrSbHNz8X=c+lv$b8;}WK)hf#zm2=>u$llB5CpIuSCj@{620@2d@Beboe&bgY(zk|c z$9(6vK{8(Wr@8WGA~(QMrpZ_6dwcRh`hhcp_l%*UJp?%}K`Z_suP7@nC5byPD^(w) zV9*_9OB~D*jvWe!M(u{Gg-?ejgE|L67fSaa_-t!?pQ`Wi5+(IHf%jcDT1>@&zKCW2XOBm7jx2Ve&ZOE){3psURvs`<40%3 zWSEDB2hWX`FNSdpB0q*hiP`uNHOsfXiM^c_;z{AWznc)6g9u((Udc_;a<9TVUO^}m zfI*V3dT=+ctX>SdV}x2mOBLcP!T>Qa`Uy*$%~5wb^ThF>4Zi2++=a0KRW(9-)~)1v z>|KDbo@zcqNT(jnyg8QzF873xkivp6&2vXVt@<2K&suJHDqlSaTQz_|1&1?|!pbr! z;q5wS%_9Y9ioN!kVwjd{hPlF8_j9=2c#O|OnZX-mVFc(SfE&qSV{b*eOXb89Bg0%P z)evp$fEX5GS&5(#5Pm$yV`RFp^9tD-Ywv2S*mhQ>i%D)qRGJ1h15#Qn=O0U{Z2P*e zZ%pf6ce?7v-S+SYN?)2+t9(~4ybYn^lc8aG-70*K3+AM);p42qNfW*0>8~?5H~Wl5 zm5o0T|H9LbmvaWeDmB;9CTj;T$weLi?g7x*RwiQ(&tqS_BK03R9ISXHsm{8B0(A4D zMB#aJRxBb&Ap466qZKv+yBA*)V#-?Y3A|Ppu}KNjixbs+vGOE5;cS&#TPcO^N$fV= zUJreaqZv@lgzh(S7R=B)N{pR_80wd95oYpJ+j#J+iD<}(En$k>s* z{KCrPttGv9Oj?#;~Td*b5 zKFEEqo|+9nPW zre+nbY8$~`S6Gj+ft&~}U!UtRZ2Nm12-OBbe5{jk3dBm&pAQT`Q67|R{>@okISCvF zHWHGk=wU%HY#c|w=SY!6Xhs%T)rA z=6WQlG2#v~owa3Y&i44`mKu)8aUY(M{9mS7_mv_Y|ffP`T&TV!Rf zP&(0xepmJD*tNeiJOR^F^C_>{-hFA1I_NRbzTFMZVPjE_T!Nq>?7yg>l?{<{bu;7- zT98i!py*T~{muzx#11~EK=PLbBwNLSj5ZRLT=Golq2X|6lLd3x$)V+tK7({tU}EbJ#Ubm5riCSEBgz;Pno zOXWsUKZ${B<=pd~gS5LPN;_y1*F-5NH*pJ#G`szcvo$Ul5nl2eM&GKtLmAOpwSmd~5_|mEcPVs(>17I?`XF+f!Y-QvwPgwTGC}UW z3`)C~ri^>(k!&wL^6VvU7Mf~h+nP|dOer_&1yHAAxy5h=z{~kdYr7Ji`!9ntK6SRg z9NUIVjRJNko1K%qd3-vO`+i4iI+FW-`>RYxdGhX@y1$g$t(VS@jBuV#988GK8B(GF zU>Ccy?{>+e=l=1G&l4lg85k!?KMpbVra{6;EPdpxQz&=+vl>Hd}QNK~q*QvH}4ojQD;7tSK1`mEK+>8r8Rm!oH_cbrW_$V&(^wwVatO{dyjB&D+SWl`=Z z`7jdwC2qkFJgeftq1IfJ-Y{~BbW91s!6GEQl=NL|1i{t2t~J(r_7-1tB3~WNDXYP- z{TxJ(c%5z4!U3&BtB9w74Q_AxX(xDg{dV@2m-58-<=)v($_ktCJKtNfE8Vxt7tMkc zpsv_z2qaylg)qjV)z?74>Mnm3@3a&{>wqZFQ1mRD)`>-J8*TonF0)~3>3y%(4(<6M zZrh2L5i1|BKp6S>4-2GH4##*)Yah`leHcRU}s<9gY%VL!@lh1 zVRbjKFR<;9FuCJ~B@?&focnHGWn*~MBQNzOKc3jgV8Ei*wE05!_D)DwuDBfjZcf=8y%D8klWsHlLN?Z zOPe9$^6;PeWu6cS8NqhLMXYMOZ1lD!m5*51W#rG3(P_%z5Qkf9u5lEr%r>*~a2q+C z+sJ>E*|<&_F9L9_W(pjuw9~3S+)x1+XlY_Quh`0mG+m`-FUq9V*E~e)_S|wV`!3N$ zb@SU0PcX|O;4|Iy$~sR)jfRfZU*a$RLy;#mVxnIKEhmZe&%*OSDI7Cp3!4#J*vz$s zId&dpFOgi`qE%3IUD^#xE9@J|kGwWNvIuLK{Cy+kblxy(}$rn zU`juboQ;|j$|&MF7J}}z4uv2o1Wu|q)2srPWH3&V2uWTmvb-|twIQp_MhmjXI8101 zis?V{`r+JslJh*j-0Ku4zbQ2G=H$t5?^)h2LId_;`!TCpVC$b{)yt3bS7out%lZ;P zdlBSs0;IC}V%E@6r1Bk-7w4GugMlk!>YlaUo-ly-zo<#diokxS>`Ykt{sZ>s-#b}< zn$J(`GxqE6e>WuDNq@1d&bs67WUrIGpZr4gYirt{geZJEH)$*=jX=pcTm^c0@*5o6 zu?AP&Le}CV_Ph#Ei>MgfdBq6T?d_g3#=bvS66>>%%+X{#{&`ZLJ^f_ylkG0D14c0H zGT`r_L3wsanTywKV8@#cB#9&gcDmVtn=$EN+jzpqGkE8&OE;~s6hXVE=1x{6+xk;> zDEe%GoiC!A{x;!=M;A@~>wMisC?UVjx&i3|Io;h;L-5 zLWeg06bC1kYkdoZQ1tES=4R^KXVz9udGO8xXx>>YZiiXzej9mg58f6b_rlOrJ?Z@6( zXR=L6DKs4N0!?sergubb9|=e=akha1%6)+o8sG92s^YnCn+`F!L`bYnm?w;^f32>MBtyqZK(LyONA zNu^6v6RC2ti%ScAJ~Gujx0AQ*ly(zF2ag8it6ssaAERu(oSCj=EMYe{Q`o|momhTa zGSPLx?F3zPH|@$LZm}HyPz;ws0X6zSru)ihoz*BJl6@sqOf@4Ynk=Z|sX4LHWO*17 zZ;7iN9Vu@ucRMJ9OC4=1?sZH448`wA?waI$uicfU!XGol{$lbMxUh= z(;(y&A)a`u1PhcdIviF~W~@h6DI)5vLL|p3Lu9U1hU8p%dFxZ_9H9%b&nCmHo?PU% z%q3ZVValj-FBKSp9{qO<+KEntem9?(QOF^ojeuR{4#X4A&tq%B6~#G5&Qx=no{T&&fuEFl z{;xdE$!AfV=g*h*^UQ<%jfs4oe^ijpph2Pdk@6wOF)F5jXX5smoXDk2&vd#W*P%G0 zX5zdPp|OkG66&`jss+_jP>Y|o=vRCYqF?>C04a;*DWFdA0`tzJz&ynZ%zM-l;7(`T zrTCeaw-nFvmUy582IF7QQA<2b$I`_b_L<^Ff%2?neCs0ON&jTe@zE$2hPq4}w zdCuxO#=9Tpy2{clIMZrt6)-bx$_z`cO`4JEty9Y_w@Q)c)lG!K)T^9`ycIQ#m~N$t z1eGjm?Q^-Ivb?l~3R=0g)@2#cY}L!k_SPIj;DNAk5PO(amgH>JK(?7HUF{V#SrX#g z+C?C3)r(ncse4~^_q|fo?1T$g8&yqT=XOL;ma-ug)>1^*QF5ue>YE=y)mGew^v)@L zQ*v#!*eC~cHEBDvEoHi$Voa3XfSS8S_4pAkZwdE21mIftJOqwa?s-_%dyvZ~emEev zPte-}uW|86XsG~PtEB?RDlN6D54ThRx-F%rbq#IR$7)yWW{aZhD&1~rWYz;4LGle3 zQ=>9^Q+kdxcc$_&*~#raS=)9m@P*ox%2-+6v%P>I!+O(o^X50ctB>Nqi^`_NmWuI%TC01Ii#HB3Y$}}3Mg=) z4N858Q}A-!jnk*_n9gb!=qrO;e102B5sv@dT0KMnx|JSk# z##;q%n{V)XGknC96$t&lkC6h2AoUca?(OePK$g3DNZ)kWQ;n`2Mrp=)D&5(_YK zdOPlsTT_h}x#Gjpq8}F0?NS`S+$Ez#S@VNlr(I5_BgYRdH-l6=y_?(b)S7FtfooCb z7r4Xry_4vU8>V6TG&05iL5g(rRN<~AwzH&txG%q|ApCH1QGU0UH~RVPO?8P6h+q%x zrk11WS)YdRER-J}$4sjKp;en7GEvG%w|i+x=o-_{li;Q|K&!ed$m^}o4*!I<$TbfO zThzCqCFzb{d~}58yGQx0HKFBkx`lgIoef|gg}Vf4wX6vC{YBYmAP3m+B zvfiD$*6DbpBPJdXXe~C_Y;Lz|z<=;h$U4QRyMO(_J~?Q+w4hJX9kfvl2Fg;$c2M%_ z^+8bd0Wqv-1UYHwMHr7?(!j^<8RJSrc(o(<^wnj0{q-O$Wt%CE$zku>==Mv(s)=*= zws*C{Q}nLtEz+(*xJ^jk?Jaf{j}V~jIk*MKAI=8c*VKIaQ#MuZ9>n(2RaoMECK27d zyB}d1R+Gdp*(8RqfqeKhGY&ps=D~;9jx-~U;oH>yb-Hi8+BY;~q>0vBK4qB;r z`slX*5#EX<@i}N9k7_C?5@sB-KjI{|E?; zmkKlY^CpC_vLW&@f&VhP*wnk-YaYFBEzX@&I-8GnF^%K)0m=CTy4#Y@7~$R4s^o3R zoUs3`$DD9TAIwM&-{hy)T?Q9OSZLd~sFFMp7FB2!lzVq~1SyZ~!05(^7xTAg6L6){ zR<~}GrX$Pc6_^&}#@1-nMZ9DN))l25bR*Cg18>tDUu4Fh0WkAm&o~y_lZ5VxmhOrA z{WTiKc-L30k1sKp_Ln{0zrm%4d#|%5qN#Te4Kna1YWs1-Ulg;9IljTO+K7m7+wk5N zoHm$DyVAw{#klG{9^h=W&j|2e?JaD1IfvYurKTl(gQ-V}1`^s3hoK%4##=WZ1M^BP~!s9IBZmL}H-GQ|T#B5-d=44kJRT$)6S& zIixcps0mQ7tF{#QA$M(>zay9Jl`b;Be0~h?03M5X0FRAVT@zl`3}bp!7FG4KoSaVP zKf%f!#AgFWvHmbAK zacPh^Cbmd5Ad(PKJU^FN10Dt8TrJqr3p*gpeAhR2a%tmvKAL22?RRxls(Z;}!>{mc z;TnikTJYJoWA!>->`6GMZ0qY3FwlgpExPFWOJ9L|#@oCa0rSgHoIkn#9-oLJh^zNB ztEv~U=WAK;Y30~F>jIK+Qj_xN)=IKi5%No5RrfJWK#hCElnzgLIF{OXu_Fk39JYE0wTC@S99eztj?UcVBfpLJp!+(> zq0jge9iY}73|0pfLX)$*yLL&>^HQL8zU(wDPU*=RLhhXrVQk*X<=A+agm8Vq?<4#oPOv;-cCL2~Mit zScwsfK5~4jsxz;usA9P{_-Slr7!d*kFwnN7<3tQd%G%c~K0S*GzGM-}!xwgRBv(!p z6Ew2UWNV+Aagu8%YFFPh9ByxFIA}wH7!NuDt8oUz2{#C}ANRtN%c3E!;DGipsf^IDTjX-zI2YcijdJePmB8>W>6(LQSrK`hg9?Gv_X`O~)b(i#21 zd^*F&cCvR6>?bJ}uv%+5r21)-K*f_FfhIZDX;b1#Bej|8kYX&_k{~0|Dnc|R4o(s* zP+N0RA(xC)k4;=D#U6XOk$2_8mq51jkToXypm+N6^&{9h7&akHaqV%F`YboiXFTaj zS?<70YXCxm7wY&$F@HQ;)Rzu;U*`DB8RjNk$gwrGw)lAo3exi0etrA3@8xaidgq;P znYfC5a8nkv;7a>yStdky0I0R@TLXesE?m=!J!s|q{AKBhdGKtK@+2!jt<^L@uu9Wt z#o?v_l-sn2i{^$sT%t1qbIb(6@Eth*nM z)@lm|Y`tv+HgAb_#ra-3M~=YwtcblK*%e^Kj9oTm0g= zjbL`rDdC(TmYu>xG`sr}JkudP2JgfsbJM7Xi|;1E?KX`IZ!%`m%Ijs5mF9o{-WhcM zuaj1u&xH+)m-JIO&n~_XI+8k!J5a}Nx4nmP_eg9JUQruW=&x@U~3J#(n+(VkzYwL%!Ctm}S6O_!qG0}HMDN=wbImEWXOAP#-{ zQ)UPCke`hyqAMz(w&Gb)rL&3`X;k`Bl)aWpUbWYWa1%bb=$&g+t9xVNL+hlv>p}fjfnM|l^_|`X%}tN>&fYv@_pOF zo`~;Xa3P1T(YA~aB)d3BJ-TUO&z_rnRTueubBGcsnq(EE0F;U5Pt*{griaf3hLi%{ZU?mte)x}J)vvO^PI*gcE)1cQ)H#k~E`U5U{Tjwfy zWMSRndZ%LKt-EXo8-S~5N(=b-1Fb8GCf$guuo@lR)~nH7DbA1XXgBHGtwZcJx1eEO zBv^~rnipWny&my@+7W-(H{!qjq9eZ149`8-Kh;0+{asA^^$l!@RbWoy+M`1^I>?>d{^-|c6R&`ND|Dc3s;H#UY2n{idbaYMM|-~W znQAgWo#u5hXPRE)B^0T7G78FUSg)jfDy7vO&bI4de=^GF^@PnQCub$uW>!IVMkQhni{a zbwr-xyYOBYW}OvsVcv!FbIMDP683p9&m3S(3_`z}E-P;d$OxADe|cGWOF@ROl&_jl z4J*5DCpcQO`RKeVDHE@zTXrk=>f}HT#hfsg17gxjVHYqYi0xD@6W0#X(9UK1%^A}k z4M>*YI(C;C2o+~2kn~lY!A0Dwv2T>=Rrd<0i|HnKHpNNj9PGqfe&VP9pcOaE#k%;%E~h zz}$tjXoHV1wXZe$SrzV=In3u=zml`(!^|^7!R|Idec-S#m9M@q5dILQ<}Q8D8vY?0 zLU_9dpY$C$zb++Zje9(%j+b=Wo#e0$ny987cJi*;nd$aKBw2069MAG@UexNKR~Rhd*+H;$cmKfB zAMp)DGbN}I>}ppAm2G`f=4(-lJ=r6^=2fiG1`2DP;I?Ix6u2eroh|nHv=e&-H83<-Utcfe>=7t*lRk!b$qRuyfDMm zoW}-3;Iu^p{2uUNf_h8^JnqC4x?0=*Hg536QA(b6fz#IyoULZCkiM{b#cr!!uwfH< zbCrGqeiA$PUypMTK55tf;%!NEO;(MOLnA&YoFXtVF1o`Wd1W>Yff%{O-=x_i9zI{- zCY(=*9UQq1vo!JO+qe*OZ^JbTw)V~3$`!c_;!dmXw_P-Nf_&l2ZSV1q%3A@oCqgUi;CiMvA%X^+} z=~!gbkM7`|hsF~GfZEOR0o1hJvjbmSqADUO4`um!Mo$f1^UOvra=5j^k#ZEP1SB;p z4>$3(-Xs}~6oR~=i2${mfdVycccA#%k~&bJtjoi?_-T@V{8Ao&cw=TcfBb3j#N=4y zO&RNDW>a4WgiJGHszN$K4HbG7-kGWg=Gl{0dWB9(7skG=fc5B`=w-{tc0=Aze2xTm zQx^whGlet>BUpSRWxlwbZ2wBKd3nTuWk5;TnMH|=*oL&5r5Gz+F$i_f+P8D{4O|;0 zU@i_=cHBm^zaYrWk-N*igp6)*TC+wdm z(+OKFSR(~h#?`>V;9hva3dYT_c+%^hb4-q5Y8;E5BIvRD1?k55n$jzmZhu7mRsw+( z^@{5_d+?>z^z}G*jXY+%q@iG?tFL;L$i|stHd}PnpzgW#YSYHLcUB`zX5H<1g;LJo zuA!@QVCTIoygS-7*A+%3#m6QY2LXLIee5C*-JQ;5W_cI2V_&ky4tSjp+l)8QiK;!1 zB^am;Tx+J&NPZmKc~CJUbQ$6XUd&=2+7d1fA;==mzyW+waTle0!WfJJt5W|5wp7SF z&EdE^p-KrL)}n$dtn_AQKyTOzKa3%1U$^$u9OBy85_e|!hU7%U}tmubH#oxjt;|(Vl%~;_qNC^zjbTuKb%Bhh^ zKYluANt0||`%3jy?ng}4`!$Bp*^x#PJw9K8*w{TqsJsW z0yLf3zs|E!9!0|;n(?gbJ@BSx42t1EfNlFAa4bKUlRC~74zUGa2KAV>F}GCeI{pml zD^wfbgRNc5d^ew%OA;hdsK?`RKCI1N;%RQbtZ=3A`(l}NxC>xAI^Bh;wtT$nYfWHF z?w;>LVPVW82fVOFe4FM@@pdgg0K~A08-P)DxP1ubwy(7lz-p~qRVM z7ZjPY6HP;>kP7~jn4o0lG87ZKCO&StZWzZi-q@dqf0daARfQ zWHh=Kx8OwbolF6<>3~+5Cqga}hOBTHq(%l+KBd*7t3||_{SyfX{yAWm_NKNm(c64%yL0m3IpNEm-bqob{eH^RPN9x% z!DhXEJKR+Fj}fX0~l-s=nRGOg|bPs^F>yVRy{Ocy8kc)XZ=3~#mP`Z6v`=^LKS zIUKF3At(=fr5V^%2Ul3vfxT(_ONe$nN*jAbyRJKYrHwsIjX-p`=2KIi#;oj<=GweW z?=7;wyEs&iSqU0cBSf4PsgG9eiWe}=RuYhlk0+vC7EW+_c$upFlg(fy%zU*XouNZC;B@XB%tH?Yr(ZA(D3Y z=&JbY3Lnn(cN4D0>c*>@GamY08%)$~;p2}Om8P2PYzdAyhx^A}W6PQ}jh$)o#96*4 zI&`(>ZfvRz$n854Ub??H5g<8Wu*v~@Rz}niYqG^fW9zZ&TG&oJQ3aLrV zq18_dOv@i}?L__d0cuAc0<9B$MWhfW1!U5L*nJ^BDxiIw$~lz3+H-{ zaQ(%+rn1~6D~3UJQ2-BgV+@PY%>f)=KJM77tjwms3tk7tOY!G9E>cH?FY zHEq|+*w>cm)_|0UvRsp(j;d@$XPr6BD>GJY{4#z>nDwQ8&^3l{UyK#`+uGe2K4bUp zvWQ~w zjS1Gg32zZGf_Z?f8T{L9Eq6@ZDF?VcV86R>=|xXQ!zPI_Q!RgH3+J=#I5~S^lOo1N zOq;6rs}>ZiPx(!!n^s4%S6@-ra#{nm5X5-A7yvS8?(BU0S1(_LDc zjAX=4*=yq=7-7#9ZTKM2@`2UzRPV$<>z$=G(h9OGZ{kJlsQQ4?pL+D(IKHVQww;<% zPB$YJofh4Qk4WefIpp<&gW&0E^_r{H+T#Y^N;^n7CvQo>=Zze_x9*d6vW#_s_sxQF zwbxBdnBAM(*a@ESd2Y)?1`;mGzcNT4~|4#%fC{Ucuwb zZ!+mu`R_~Ep=48&$%bp>B}(MWt^q>#M5dzY3gy(2-cvFUTnAf0$NAF6w{I7WX?EjV zTQ~BM-@F#L)ge8Vt)?Tvr=_06i_qb<&GFU#?D0`i7Rwq=7Wtv$-EUo=sCxsyV?+B# z8BMOF>3c~~+tTLn=4vzZp@A0`b?e-g{daUK)byB(v3xS8B8I}V)JXB59=0Y@FZAJdV7#DjT z+r%0qp3TzHa+sIx8&KxMK>Ra|4T)615Z&s#0oLBC5;;!=RSJt(r>{{n!b-1#Ei+ zDtYE{1vK)SeE|Q~Ih__K*|d`M>~*TVemj}v3`^&4-vE%~0Vt={!=Ex!WkIZbGO5Jp z%NpXq;*+h06An7goaOwb7}iY>j0~ne)ZUD0@-Oh9kxn?DLlr*Cr_)aNcc@ml!`O9W z9z%tH%}Nkny7QP>^ZZlY@lv)Z^9w7-r4D)4_0lscv&o#l5^27~hPgQ`cJRwrHK!Ld zJtWuJd0vU4Y}uqe((Rd`CF_qw(8aPw$QY<%>OeiD1t+Wr&mR~?2c#%K^MU#uLG!?e zn~!v-0uCUiXSDKBKF*fYI$As6@gi?s`)Bz@^YHI~SGi(kCnelog=s>%)zhCV_LsD9 z&}r-KndVNhXTP_@4?<|Y+@^hP;WoG(t=Hez&D|_|5eG$d92m8$zNQ1pWG`e$0dM5! zF1vNhH$05@>%-?#jfx%+N!s?yVn^;u@+(Za3AgFF!Bwwtqr45 zKFw>PqX0M=8L)Y$^?t`|Hr6j*k=qcntYGmJaoT4kXgY2=kE4;4ovZ?V@Y_d2!Eb=VK!;saf+L25@m zDk`(ZlbB#?fU8P*HJ!}sTcZiSDsc-T2}RiTx>t1XE>9BZuGtG(=6PMb&F$$>>&ARg=>> z#nq8I_M$&L5gQQ8j^(Mkq*a&eR$V67Thn^$b?dF0>owOQV}9UOIe8JHK4Ue)G-mUp z-}yQ3j0#3U-I>g0`Dl{W`Sh|gnO_v=If4$e>GUKUo*TGM@?i#B>W}RI@I*{qblCi_ z^710@6y+!{!Pwh*ItC17-pSa1IQ724NoJrTC|Fxrfr8;3PfE60o5NBJIyNHtHter| z^^7ZPpz852_myDFaAw43dkS#SzsR~Qtc+^Lw$q}M;qsBqM|?5uEEk%)KvrkW<`AS* zV02||uh?YoWR-<1J1H)5#x7twND?Rkj8eR>*tdBn!$%A-cgFW)VhyM0>|yu7CA^rk z9@gEaM+M(HBhC@Dn0>3hdwqfl1e*R%Z+?LIhALMk|0jf0kE=J%=CZ0Z}Zc zqt01&k&_OaL3d5+d?veNp0f@Z>)GPgHPUtU$yEpt(gc5}YB&H)5I_52EaV;p^we z<`{viKBD?!ZI)*b;te1uPEH-H)GfyxxCsj?)A9VZE3g%>Xdl0u50_;*$<2qCWOiR= zuX4GXlWG#~d3K54k0JNPMH5x}n$Iu&lL@Rm;awdLx7N!#9K|Yc>zI{$PzzWN$49F1 zG*V(CpRC`=Co4DdNn#_P1RD8REMtuq+!+`>mox9AvrKKSK+h!vw~4@Hmxl3p@{S20 zIMR^?U^{!?@w^cX+EZvjWxMZsrPy$D?)Y-Q6LN-8kiRXf`o8T~Vxv1pUfwr{rpg_Q z+$Y{#R2%M7mPrZ8c>%bM0l*gMnB$gZyCE=A%CRXe6%00~yMo!MS~v^$1CtoGh`57s zHEJ{rS2*L6xpa4qmbtyxD5>Y$W5py}`D%hG8BAQ-UX6M^nCv5r8 zXbr3ZB>W>tv?FxoXd;Gfz^}D-k7jN5}d-c$R_i_{O-Py1ARC8ir zwU?!7R$#wUNnDyvplJW<>VxXx969YB!EwQHq`^q?>P#7A2Jwa496K5e=;08mXLY90tsKfo zvNaUDBZanNCle*($81`h=JWo4FZ1%U@6^@|vm?c$P5jvHEiWy_^M#myJkAgxSGTlnn1~?^To0b6y;eXP^D_)c@R2!96PTCrbrK@zlJ3 zK(Mt=N4Xqa;c(Qb+JjhtBAB~BQ3_~68zty&f`F^)wi^jN*s8#8!)2^Q;4=5wWSkIJ z9iY}4I)Gr6kwYsEw-2D)rm^{y&@_Nrt7(8>m8Q{(!%YJyw`u>#>o?N^J^34&Cn48r zqC~PvGi?IGO_h*tb03}M!*j@MZm$B}jRa8DZC3&WTa_vS6apV}C({wGYbo57u)AWf ztZ&==4Yezs!4iYZ;n&%uN?5!QY&U$xsH)o-kDYya2Mf;?Zo5VboK1?#59w>5S=gbku5!y<3=}iv1(IAUo7?< z(^z6GA0wI%`blz20@<$xgA!``qk$F!G2aqi9l;2k0t8=oxv(cGiKK`znJu!-IL`R5 zf3i}db>n#zdx5qzhnn()n3D0V1C2!xXeS^Gw-w^t1)7Rc^5CCnLk(uNY-S)XS4x;Z zY$HDD4o&nM0^|oBfI!%dS@wf~Jh~W|a>v87w8`mw=&%xo?#SShrf~9o9sXx-i56k* z)JPI=J%-O7LFnWYXb`u>;=hfJuvp_Z#Vtk$ua_)tNAp^YRPZtm<041LaO&ekpu+)n zL}7y|dL+^2m_dI?*=Bi7%miJ7MB;{Jw-4*<#oq2hnjenGadtf%dqgzhm9mxgC3qUM z%&s!(qnw8Tl74<>8|9~N27o{-3=Uvz&D=y&U2Ja9Qx)D!ZUl^tdUtFYe7HHdx4()K zK+TpMNza(;`VbQ#`N^cVMUrf3MiU^0RgE6rk862uKej#gz@Ec1m1Rd~N(%@FFzg{3 zNNwdgl)1B~U~)q$;fxKc21Hem!{}|7&VHr52QxdopFZ(b+P~2jrgo{8NQKtm1a_R_ zhVFI^bV{(C`mmIm`qD$arL7p@_yScL>&^%LY;gqKlJL5aPxPDb7n@}qxo^ERY(l&9 z#R4})4=H43_=*y7Ny?E_Um-&(kYYyqgOFcwE6?_@xxtN6g zzW8MKk1WQrd?kN;`}`R=<~k>NkO7XlkrO<3;^7g0Jj4GM-t%3W9%^4vORN*1sQtd z#19>NG0tD&cBDkOl-)!<^|_8Xf=XzzK>b{{qm)i^%dbp3Ga9nVs_`@xE^f?aN%%A8{*<>RPs`$%mK2 zX&&xfrDk0BacR;BDY3pqSoM3=9+ipxq8$Ciw8N&ZRhq?cTV3i78Vl z+5G4UBX&JH!2%^Kg>;qab++bbAO7v_A zEwaLSSKdv0r7h&k=X}%jlue^gB!bP$=X}p3(qm3DAfI0>m|9l0Z>xFXu1y-3|v0=Elpz&A@yF zF2zxTEVw96*!&jR=qGVC%#V-)MX|l9^F1lpan(pLg*2)Hw z=MW0?t?i_(QrB|nep5SFM0rvGlBxZ(nZ-t))8{$uoxwL@rfKIcEzAD&LooxdXn5yv zVHbu>@R9CA<~DCT3D@l7$J2bqbua3o-51HUL>X~vLH`Bw4QczCYe#XLc^}RuJAV6x zE#W}wbU^=gK7O|t!AZwrufxzrUaiymjQPzInjv6?aRv@k)W+S@0!z5(%w%`J;Qejt zxKAtS>EIC$sRoMEB2tfD;iJ3s_vNI-r53Tfm7WyEG|%Ru%I=37vdD)U#7C$2ScOqc z<~1qKK%uBjNu8Cac^yVl;cVA=G@Iovd ziDYp-oREc&wIvq^Xk@P}J{cXSm!25Cdd4SwVp)KurEfx*rWVEP+4KplbL72JI7T&l z{G*+T;C9v;GBWUDzOO7M9g(PYcI7#G83 zWF|R?R2j-QNQ8Y8gvYeFcRQJT1!!(&MG`0QkE{ZAxH7m^9*MH%*C3gu=!E1B+$9eo zVE>sIKKHQ2c6ViUUFx$}(qzbJc(KxWB27GN2j8qrz$DH?**7b*lt;UzbFRxryx95T zce^Y~Pb|#7S()QPREks2$~;rmp1JihA;I(57b}Yk6v%^bR;CofJcbW^w*k12#eDc` zXM@NU+3?lM7P9b{4t)@eGE%NYoSXcY%~Cnlkf;2I-CM@k#$F>S9$+!!BqaXy?B-E{ ze5Jx^d-n7mi0hsG>iehEolU}p()D%+SW5S6bGL7Nf8pC!1otAw4PRp;;#~6G^e!Y< zyAM|$i@XMrjK0Z52`!cdP!!JSk~o>$;q5?bSMF-4QD6~R>NsTgeMdf->s7gBP1Eco zpBl7a3MFP?WG`q|waDg1E+iOAst6aQA!;5gih!IHqe~M6QXCM_tndqI8fK2n!iG** zqdHlS>@xW$CjaxyU~wMhuPg#A&YSsb>=jCrLPKk;OQf*0C>%{Lj6&=;EyaF9G4{tQ zcY?-3qbN_JrBBLsW9y_03@nWhs5z01ppDNAS~5uniD{#D?i$iw#KhudC7%fW;lx%R z7&$V>UZW*5Fc-gD0LbWHIB(soW0hwk=2I9w*Vs2(VVSG=fcVwQ7E=xn1mLT!y9ve3 zO6GG7a^Rbz>YOM|2EN+ae2V=d=aet|nB?27t%ZhC+sa8TRkPYr&GZbyeDTW$5`F5Z zp|$MO8vE3%ya*#uP<5gCSKT*l!#-qkxuWOM!SkAMsblm|eU;T`!Sa0tvS9^9_Fhxh zZcx41wE9rlPBI=#4RMl@EN!w(qD)Egt}2!_gG7Za60UYk)EnKc$GNH&voL%k3|3nQ?z>r!f+buuQC8U(Z878d13*D~G;=boNRQQUXRK6S3tacbp1 zLxt7^(T-3Luwd46w3+n0s)=27Xs>eF((6%17eZ`x%sfOYM2|~D%A_`o>+=R7y7LDXhO0C z*9uW)AXc2|LegVp{A1Gxu!{XdoS%(-^I0bwOM6y=Q_?YCtJMn6Q~NwMO%-s~D_P`O zo+VtX2dH2GTb5_Wu0>##FGK6FRKEJqhRz(lb!bczDRBp#oqn9ofa-J6CKFnE)*^)Z(wSMgPD)l0LT<)rLW0X~E^&?^qEUk&tQG#CIJ~UR&t0WDs{_3gL zzg0%km0H;Xk`c0=Pe!9@s>aHJuP2o;sW?-vr&a4|wc2R9QWJ|eAuzR4)eZ%FJ+X|5 zb)~ePuV`MaG?uQ^vm-ZE>9XuXo(@C(u)RVAErV*XoWNtgbRy zN!kHk%NNG;T6q?TKxUnb^j}P-w&(GKAX>JyiC|SH5D*PApO3nBU6llYv>xYe)xD4* z9>lS0TQtEKf_6C)-boN3!${b)9QK^MFn)f(RR4o=WCIO2{9+9_a=P?RujlX7`m8KI z@~DCE}4>vl0@4W9^^oI~7s$61(SiB$OIM7Xt;(X~|wrYp~V!us{w>yd% z;8D>H;CIIODA7Hz3s~3SZVrpZ<+0DL18>RH!{T_vpF%Vr$#bB}yjqIjdGw=dLLk=e zMbL*NMaIz&CC+*0kACQc^*HJ#ig+)HuDrCFa{((Y^a{NCd?6#;1Zl+@4vYs5>G^U0 z@qagHTghA@oblaeRDzCVlzM%AjXb@})L!SBD#G zlmF#5Znv$@+~T(F=-WH)wv8qp-fOpQ6M@-SRh^{wMcO^Pf#Y|OumK`&fQ`4(U8Mdk zi{+v z$(<-G)}IpJ9=bDvq#b@6n-JK(m|7xML~`@BEN1_2!URj{F*+oy?tbe;0Ic?p3T2^S zUu2!2@=zMWW(_EGp};S~fSb0G2+A1G_d0==soCME=BDWFs+%mr&zRtP3DQ;pd*(nf286Cyik_^h{w z^K%kUvaU2MTQgBinH{rIy0KhcUgD~_;=r^M4(){7c0$96?RGkVyE|O*E?99ueTa`lV>w>ojM_Tcd%HZvTeU*66*dB?drI@9{ly8D+&siKzyca!-<9+g_ zjBD1Q-y`FBkBrofTHkCl6`QSj+4}W?Mmt;R2+=y`6neDJ_rr@;z=u3QWG$MH1Ffuw z1w)$F?m!2$clq(1b%G#?5f2}Chucnxm!DRL8t}0%ryXc%c%bFrftG*=a;qCf9ltWu z+}egsfr)74-GThH<{EtDI92;wZ8KJegkF~{H_5EkMg+1p4V=ZvOgZobF0eoGUTI=z z%9_4gj;_EZ&E|w5zFm$c?iCD{D*2`ulEhglLWTY#{N7fW^l3v=A$FN>rnp1>wv%#{ z&<*fuP^08$-5yKYTqwS8ug}&S`@K+C+hfA*p|7ydT1&30)MXa;-6`l{zuS)+k#_Le zSeI>JA8<5qPt$K7krSVNx_wbR@))%bk~cMJ4ctKEZr}54%}C< zH12&sC01Jf3IsK5e8LFal-3TEve2mbIQML8hPCfSctUjYK1f!ixW-VcjSc($<##rW z2oOE3w>Awo#c4vsMq&NT=3WNFEyB;rG1)UHp>mz*(>lXakvyW~^wVGEiM3 z?!qTO8(W84GC*A08aPS}WkxCoJgpD=>$PZk>q*<-mn%Q6e{RcZyN;u-{A_R9n!9Re z;+oD41Ep(*JQsYQ=JDwI0?SGhdAyEOu>9F(N6SM#Ew)5A&c4EVJd)*-~x2KNB?Q}@9%!kjHS@FnK!=;um))}pRImeed~TJec&f|#!t>(W3YQSQ zXMBulzEhlb&U>;3+7%Vu2v=T4rtgANcEJAKZx!{+gAd4lq<5{8y;ZI%1>N-E6Zh(9 zA~@l2PNE4P&B2;SL4*{w?F0aZo*TCPV2cKXfC4AuD(F2fH7htx+4rOkHfneXGnmJ8 z@p5?okHg`CC+%QI9F{{kK7!MXLAGQgoJdp_0uFwuW72Iz82q5I)Im6_!D|3M8`<3_ z%#8TN_+lOBk`?ZXNC)nRyFwr1rB0}37dH58x#JQiT%sXo>w?R40bhF}_Ew#Vl8)ev z441wg&N>Qb-RbROU2B-VS8WvRZdUsS%6_;%-2>wg$eot*Vr!#7#aB&NAYHJdbS>zM zk0V?c)>Ab-`M!yNdnd{hiRYQFq5jdkuu+%2a$VSVkKuwH{^@(rCz6kL)`J`0!)$#i zz1n-5^eO6g`i`XS#&$is>FO)H8~Pf%`sfOF_3E>Dui4s>+#}(tkHQojg$LD1jpA=n2@7JdVG@XNJ_FRp}hRDM$zun7q0*bkB7r%L3S7x zWLr~=HV^=AU;7_@s{+6c^fj8n;T^*(Nws2)umR1D+kmy2NTEo_h+t9|PD#e|u ziibN06O!Ob6?%&SKH%oS0u#v zV)aQLC-7(^{J{5tn>xN5>UlCM?zFb$uQ)8ydW2fzgMG63;gz7ptmu>+8)E9)q55`P zeM@pjb_U>Vm>S1*UNE4CKOrEs?6b#NA30e!2))&gCImZZ>f z6kKsO7v(ZKSI_gy`+B~`AQ42t9<-Yo;eeVg7Oxg-$V%^9_}7h~^#1}qbh||l9c`zF z8svWqG5ZA`EjT(L_d3+Yj-vw|I_~ySThY3$R|`A>bj?=_R(fHnRd9em;kF_n0>CP2 zV5{ey;Iq*!0$yAt_g3Ws5m&LWqKF>t#!hZ`n{}OtaQ0I-D(&rZG0pq1@pi{L!ywVPm%&T4tUZ0U%YOmnhMBupq4)!(xYGwJ}PK#~wsXB&H|k+9H(j@GD{A z(P}I-1olQ*xc1=t1L^}RtVT>D@DFb(9(SuRtk+QqcL;YlJ=%7Z2)NN;whecr(^VUA zGF&?n%xY0!+8V4K9$ZP?FEQH7t~s7I?zX}69R&2cK08^@mEbNh@ZDCCTfWtYC-gyu z>$8*A5m@Y)E8}81%1)-a{feMS?#nM-Gc3#VVqQ$5ky!%IiKah=sz?A58F^0YB&0*XWGyj)`EXs`9_o*ZG?WOFP|;yOEwyxGx(Rmc8MBR&Dn@s6m8$>?Z_r&)4Kgb!;Q1cZg6s=;Ul;7a?6#w26TSrBYPSLHOmJJTk_SiYJ=5(E z$CZCt6lGn#|8N5*BaN$tCbCp|MFb;W@U2G#k2W$3qZe{%7OH68&EH^0#YY1(9gZ@t2YeH z83r6UocDkK*ZE(RoN9gUib};e|K^*{Kk|8AW;GjjCzqYYvaC86d0Bw~*zXSx`sfMp z;l{GcJ8bB%LI2@~61SfBl_fbMt532RK~Bl?`=$@H)+vrD6oF~tu@nx;Xm zb|LiR-wn9OzdI0eB{$$?q6;n831lpaW=0V+%P9#; zh5-)=UMQ}eIIw+8c1o~0=8Og3FJ5rL%-@UG1wsCik}_`w&soU zPZnGs6MgF>O7%w!$`)ogmmwoq>Qz}R^0J<2z04@9vxDn%NPzBWHBZ}(Q6ck)t&%52 zR*v*HN8+fQz6q0x>sU*N6tt!=SwkeMHJ%syq0CO5qC~)}{1hC4Hu=y++Cwlm;tOMW zTP%lX9E<)+vFKFt)y5*E`tg%uxU3u$Qs(R2=JJ6yxu_y-lUVrHN0jg#|_K(?oG{vRN5LHa=gRNNp z4ukH={6slxXJ6n3d|hYLW+aHM+LL(*kT+J@=5YJvTL#6t#~IS=0kLk|9ZO=`N3yJ# zKN5N}VakEaGTHpb3ED?xy4R(n8!+}ZMem#C$qX$jlB5qeDopxtLpvd5qmj^yKu7t} zGcL~a%h6S|{{MuWoK5;wcJ7(08ofm2lZKd1Smnoi^%Kdh_aLrm9t3Y3W@c$5WiVNR`8>geG0wPjkGgj#2^E* zKU|h249u)Ng?US)LNk}iMx&qOpRTc^fGs5W>k!Mkb6>cJ2Rpvb=$Fem|JFS%y21Oc zpFQa*9zbGhpXI~z9JW^8`Opn&TzzgI=ykzrfH>IXQaueL;QOMO=GnYw&1YTrPtg8H z(kQWd{m4hV_BS=0VcTb5xE@JoCic~reN6I?EdVk2IE46Nfk^SgVdO6d=#jQ9h#w9J z;g19)NiIg&4FV_s>9JgC1({kY0=bQL39rfFo4<8Vr^QJ&?Yz01ofOl~-@f@U*K2Tv zel1VR0$kQ>)}6(;!(Cm*nD!mmWX5U>PFC-V_v_Od3?Z-$=OhRmqO!kW`6ZJ@$_DyXrn@&%%p>{@9LYmSd#m|3|l5DuJLK2?+qGWaV znbi0!i{0x`A(PKdwbt2ro>ZZRn3E+1+*qCAY%DoW zan3R-*}2VpxSXL8Q;Y?gIpMCytfVtEty{liHr~5fgu(AWV1NF-Gk?(e``;(dI*8I6 zBqT%CpXZ-y=K?V_uITd%7s_PM$h5#X>3?U^$`d=|GyM@jLRL0gO%t8LcrIW*2fDG) z166qHwdqoKez<+Cgk9V26(CwN0?b~=Q)erlI1DjeKlo%&=;;~}2H3Ls`sUcQdSb*S4ddk@JOoJfF_Z zlkcZ<_vkn2h2jAZ5 z{9lJH27l`e_786J?|&D?0piZ#!9GtFS$B?(4zY}Dzfsn->Ma(h^bVIUwH*1sf7cl< zG3@ygz8~E^ynSe!=c;Ewa3el!j*aim;ow^fAH!12P3JWFdN+W;wIlEN?oadiX??~D zC%NxH-1~uj>FT5tF3;gR+o+Yo!e`75 z*t?df<+9fHoREPv>*M>V&l&oVZP=3>9WDowryHPYfHYYZ>~FAweYb*}2hajO7})@1 zoy|s>80_r#z#I__dhH%0vmYzOS^^#6AFU&>Zyi8e8apYKJWd)T#~`GUhyf+yv+YvD zr{wp``sYb~CS|REdWQUsf)?q(eZ*4`qk**!hrz3YhH3;3#e{=@cG_$W3Y+cxB`tKn9 z9s!`Ki(C@$&hCIoloVs2;n^!QW4+IamKznOba-qhUM2p zRm8jBJlZ+(obBixksL90eOS)97y}j+*42-kz|TjAfl8bas;oO?h}8xBfvNdJKF*fY zx@sJMVw=Ts>$;fPY4{hRE%3Tn#9*NvcB2)+USV)y*#|B_mjd0-o^9mS7|BAzztWiT zQ?ACj8@~Q%a?$l9=k(W8^xb4ysnS7vUC>%VEmf+lQC}_eP!Hx=F3uS*v-8|LCg!mXhrP7IpqY36-BDvnVaF8s*%7f9 zAjZXVd*O;#mfh-xy)@&hxq2~>Z`+)So}#U14Y<`A@P5~jraIu#Eh@QiHb|7gwy0!D zC>}}ex<^2NO7Dp(vI+64X3;elNMaSj3fQB&9@;8>zC#BYSaju23(T`Lz)66WY8B$+ zfP?by767N11Mu&5wVcgR75ipo0xNhXeETZwjbGwkJWjBfuPmQ|n|GB>wRHX&?wqIE z8ec4@Q>UdeF<=|>jOv)xj}P{Ai}x3@`)&A=lLXj-eoG=_8!ny)SnQqE z5biA=Tb12&D+|oKJ}=*OJvZ?}YUcBG`rMDM6JqQL? z@X~d#ak_lP6vW^cC$zP9m(=2D1iI+=c(8oj{+4Gq7v*G@drok;Hqyr}4H)&<2zIS{ zN4H_)qOqXs(f@~yF{aGh$^U8XVA1Axbh{y*hD(vMklPe_nZ}@~Ia-%+&0w=^!3EW6 z0FXd$zad1JaMPGT5VB^|_=WH;Bkla$^UX>*Oa2P8%T`(TcM|P5FzNbN0B7!5*O-^^gxIBMggM2n< z9b;scfjvKIzhQ#C988NL>xJNTY;kQL-Lmm3xr@!$=KfSH>pG|Z5p%S$<9N6%vF|Hq z$vHkA6gg^mS@5@JJW2ufHM>AA~xNkke%$3;hSZOGGC^J!qTpIQ7e&{QQp-P8b?t6+_H(} z;X--Gu&+LY#BPiyE15l*;*aAO?`GO1_{ag6jHC)h%4&2BUdW>O)UwC2P0N#FUwL~ahB zRsh}WhBugeBZ-%DPYUtk8f%wH`vQ!YKye8a?*-|Zi~!nHYoZ0<$%u9(#O3ZTO!&T8 z&gl+5Le17p%uEK|m0ixS3|G|ROalU{{;Q)AN8oE68U+>L;~ zaH7UyU3A0%y&j3pBatij$-^)K+#Q3wQ0oC`>~c0b`baBQ9D1)fnhtLNx>6vDwONZm z`UsJEtT;Qz*w&`H9 zx0dVXNH`7Jy{AMJ20kVUYzH9SgvDN|sk|wGVFzI?6=@jwB+|vjq>2>%?5N=J9Di!C zYpnI|N_5S@(hS>o&MKXIHM>SE1AmZyS##2u-Mam*Nq>+}$FUd7ncQiLhxzUu=y&-J zvT(afaR`FdS&_-~ZW)*?hsO#6#vnTM8(OvCB*LJ&CcQ4=u_xT_|& zHzh8au=2HC75RB3)2V_DjIM{ib4|G<;t!Mc!I`&h4M3duzSl3aqz3i3j~CfqbX>Dv zQFgI>ncyOj5bXbqIc%KuK}EG@1+Xe<*zRuVdWLV~h~A)l*w^n^EAgPyj_#$t+G*;t z8G2QS17PrYSuFldg%7k|J0Prf4u5$tMD+A@wfmEa99Ar;XI?^|F!YmbiWBU<>EQ65 zgfkS1y|SH}m*=_d^uG9OWPP{+%KC>J_l4SSl^f=)_sdAdL8nb^|0OnG;+C@%7mJRU z_U$IU7vK=qSp@;4k^SCz1N%L;ZBYQ~J9s2TY*PUi@tn-rMdbcY!;>>Ca=S|yZN>dA z@#}&19|{h2;#3rc`IC4WZRRznjrc2lzpU$G9(7pKAY1c%O1(Jt^v=~p z1S@$(k&44UB>?3*lsv8{HOii*#v$B#%|jF`HPEO$(nN&wG;)+z!*a3^BcQ3N1bV#& z6GSUD+e1jC@dVn}&)I4CDj4bJ3~T~x^)kb-S|^jLV|~oPJna+vs&wDZjW~6#t|b;Fl2zoQO+d8426C0VIsq3uqi0UmaS^YJ zxA~_!W3#_wM)0^7W-*BfWx9^L}I%4UTKiX$vWeUWnS&irb^R@l?@n87{{{9qcgA-axhI`dI3rk;hf!}zzHujKdozr!p}W$F2qAjB z7jKV)5r-N!$co!wVr=6|i^2z5Tw!}>)4>WCBe+yVGz?1vf)hO2>6-R!I6lv1TnwFB z$!}ujw|Cz?Q3pvu|6P67B#xc^rmB!(u+3lrtuQM(x}F zmyI;u9+O}9@EWtV1jbi`j2wbH)D#8DH&UELI{fQo4c)W2Gfoe==xjhF)KA><7I)UQ z5gHf#e1tn^&iIo}57t^R)ZepOu3J@2K)OB;<-L4MwiFo>@t!!a%fpn}^rC*UuX7zQpL+*?pFG z<1XY73t zAX`l8Y&!W@&i6nCxJ4zcm4DgzVhJs3E%fx+`qdcK3wl*KZhlI;(|jeywsTK8KE8F^ zoEy!;DM8$9ZgE{c?T+$$VWm2O2V~!q!Y+fG@5^7QfyLbcn#UD-K}<8w+&|vXQf#nC zmhk^*F|Y`##&M;E6c%bTm<(T$jf|zM-lf9!5Qu4TcGy{59CQ%ttun9jx^t3sPHx?r zXBU^9lha!@y!*1iHwk2ScE)$O$(d7C;6)9ICVaUf0-<3PX>?}>8)tWJO3EOOk8 z3Z4f*9Wo<8lTXR2K_;|;dAC6(f)|!Vw29+3cWV=F%OZac!E@+;{nxVDat*#N00knh z6TR^cZ2aHP{j;ok`Ef2J*kym1O{a{4JwVZGxG&FWdC$P$^4bOe=B3K)R>pG_{*_+;mZt(6zyBQ`u%~%lZFsaw-1dnghQ@LQBx_{7^2 z&t=v1son)g643%mT;2_f>eOLI@NH6j?z`esljdJW))u&5ca$ojqir`-6`0e$M6exJ zZ~M4Kcp8CWb?{pwJh4(^De}9yuI#kpRk1IP(8MSNg$yH6b5*#R=au2t#u9AZMR4}F z5w@BxPZ1ctG($5DZCK|Vz5J2TF*DgOv*vCQ@f_aa5Kuvu*w57@=0<`~@zb#{HxmY6 z*iN1RE$7YkJm_4{1LG5%2lPzvYnctJEeCDap6hw=XPO6iZurNZ04uEnEoaU3Jow7z zf#|O5sX*&mV<~96>ReBOFFpmt>Fo6kAa#8KWvJ!Mxt<4&IU5WDJQ|6>o`X9&is#_2 z4DC6%b4SPf{4<9BCD$i*Ym21u#PA@4CqxaA9K>^+L9_W;h80k%5BDG0U-g8ZwEeEo zZ@UhHY?xa&6$yFEz55lMbOBrC8$hj&yLQ1kYNTi6Pfq8phD?%i9@?DV;`JxOmS;S8 z`snAvd##T9zKRCgFTfiuJWOoim2ai&M(1I7v%R-lv^Uh|4Ncf~bIAU{+402@1fEvo zH}K9pG@2$etSZ!J9j-2i(0 z`}J!K*RL@oy~gljIh{J=LMDFscNxx@l4F3fgiXBOFv?%SZK}#ssIPOcUw^oM{o(ob z>knVe>krPZN)6EKHyW7ZQf{L+qE(w>Nt|@LpP~8cpP_l4 zmFKUM^b!TSo(Pm!R+51>36WMyP*0m*6!m0$`8uB!7YW*@0nQ;j&7we@4Gc5VY!-Lu zq}eX5*RQ&`nJwNKfqLZ2A$I<1Z@Gxj)m!h3UG~IIx?u}%xLiN1A8=TXp`ei__C-&bRP*6(iM+k6y+}^AU#X&>Vq< z9)wDS-Ovc0ck>2J{3^nikK41MNFzyp%q{$U+g)!uXm!2mV5RF#2di9fI#}g;)4__@ zn-1Dt@H=R8vFV`o#isO#EHl|DZErOltbeQNs$M17cD$dKF88U^5k76EBz)RVOZcoa zHL=cC(-S^xO;N0}^)!V~o2d$)cGDG0w4buroL18oJ}XUK_%y^pTk~$r4&0=-?}Gd% zk9>MNDe~#j`jJnMnj@dye$T*E#3uf z;$H76?2rOLWj0|W#baIm6Gq9D7X9nl`Ny7}Gj+&wb*AUF0VDYN$_yBOOR)XfiSgo~ zbySwG&wlZ>E;evze!b9q;kXs)mZtRJ6<K88Jy*2TQ*WmY!&u|6|94 zyN-w$E_59%y>lHb-Tqw9gT|ceVCm{}9V{I_*YkjUu7jmt2TQ-62iL*UuY;vuPl4-T z=~sGFa2+iD>IO^416L70@ZfOZ3739wc=tM7`gOSU>u~9RzC-%!aOoQfmwts>op|zu z=jW>g5&klPgTKnSy>#Ure0%7L+)EPg9PB1?FO=c&aicfj0IV+F=AY_}>39a{1j1g1 z*GU}!vp*_}MRywA3p78A8zynTY9lU1Wc`XR2|yB({Lf6U0k>c-Q~0slgD!OjMkAeR;^_<1UQ^)cuP|qn9e( z#n5BRgS!VnKLh0dcY29+@r=i;lL6aB%Dp@L1I`rKE4T&OygsjX*uSV3@k&P%-lXOp zF|u`F!G3+Y$d9`&<4#n>+@}?Qvk4K7yDQ@B@_&Vw>*^g%0?TyaU3%8Ndma`rzMr1e zx2nnXf(f>>g8h5zWC{-~G>ry~De&P_w$J}Tc$?f<2XIe&?1DdL57-f+Lfya_5$=fA zf=At9K(RBL2Lul7OkO13iPa)=r4n0j$CGl#){aqYO8=5f>K|(y2o@&H9up>vj&JJwC|3YegMvs2dBX(E)C{u$X3%wsIpM@0ss?Iu5+O|!F%DCpfo|Rj zJ?CV-9^wpwt`q!>>HUb$vukT;0NaHxrrD*8_|saqIuX{9<8i^(hedYKS=9TTlha!t z&n9(1zff4AOmHTMcwh}&Fv63?R~6QVbMJF^pD^`JAp%Y(xJFORV%SNISb%l!A{gb7@(ri9^OSFLyw216>l zD#{L=_5>G-p8)pJSvEh-yK3HaNpR_2bm4RMrO6#D9%;D}T?;0IK;QC+*K75z=r!5k z^nT+$ge`lH#?9VV-x=@c#OkPpEylA0(J{6qa|dfM*Q6*i(~6H(_ozi5Q2(`-J>drQ zUZX!E(_k{fftsCGoL@}*e`=8Njgu4KJi7986QY!FV)TgShT*bhUBD}0u$vHj2tiC% z*I-yhfNU|Tv+3ktFw0q50gqj@neN~s)^@h*_~}i9tEFPD**HAQhv#feR4HpECr@Ck$sR*nSCgC+$OS;yA(i}zA9gIBx^hlTJKPLw6RZN`!J zbvT{GoydlV>Dl=-+)a$aF+Ql|rG`jfeBwv-0C4%X<99Z%NxCCL;45@~d zmK}T}++r*lVfuGDlvMi~#!Ow@(txYUwVe$avElI#m|4lzrVIAp*+FN-c4c^y&^gIE zC%0~?lLgqF&GW3}TQoVkI^}3GOISoc+^DjPuVi|?&Z|7cs;#q081~jV#-Y}IVosF* z4{hdK?&C!%Y8O*am%+hwJ|EesmHZ|wWTEP^NH3q^JH~zgrjd?@3|v;a@NVTao1c5u z1w33BA9bc@x5Un8l~X)v;A5qib0H4mf+Ox7fPs>ZzLkev#_=eVRP*I@itk(Z)%MFV z-hd|-LlHLw!yX zpH%Ric`{Wn%umZa$FrDrlP?I1k72P53a zg5Mbod~ePNXH)~SeH$4}wRLvsVLQi+?N4Wuk#r=0F3{d8oOjgP&}z4)H|$AgC{O08 ziF_?#L-Q{Q0uwf{rVC+zrkrL(f^hE=c)N)Q7GW{sna2!MhbdjFOMPS&jR96W-M z!0*2MjtTcZ-{E)kz9upSQJ`5zHHa)ON3ptJoWU7!>jCwS_C!?t`sLqfa>8Zc$J+^F zg~)}O769mE($z1D_NzHt!G$kMD@O67B;n5k2S0I+IpoOGzZ(WQzyt$Mcp z79D-fRyp;qY`z+D&q3V>B^n6uTkj8sgf z#fzdogBO7L?o088KB=Ielt+g({!+YtC5~h(=L!L1K6YjR3NHZxrk@BSK(MV65bEJ8 zD;q5r1V+E#WC8N+IDsT@5D`#$XfFVbXL~f*V?1sH2=yo`$rO7V%+`840WeM`5X^ph zlVZbVoFkJjSCVW!c>#jH_egOF`wGXRA4((*r!gHx%!pg??J9svJW!Y@*;#_}CTKpI=HEZht13H9cx26lx1PEaf9+tH z>pkXY0vt$y1CO#|61Tkv|18K*@K5p}UK-nyU7tMq8O6^P6#6{f$#hbg&!JURw+vhv zIhol}I5eQVQx<(8%Aios8MZws>h1}DzsFiC`naqyOg;O8OT>@L+wr1;=zWc*Ez5D6 z{dw2qOb_`Ny492LMipl^=oo%xi^Qjq0DI)B&KNg|-FRn_qR73@U)T;_SJduC)z|W{ zfXUh2(8{Z*g%DQRuZE z-lm9Fd3)PONLY)Y(C)V3HD9!wTQ2~2^QgP1Y`YJ-2U?W6Arr-2md?(ph$07i1*~3R zFK^tIRka%vZjG}SI7dR1{e1d5AB$6?a6E!lUe~3=Y~#`T!4qJxqMdl-Cmnhiku{I5=#4J#ldG zo`K2N6WO1uf8=H z=r?RB3md#m71*@U31&_HrHpOdrUtHv(ll=BAsIK)cy=C^-^F+`_aHWmbq%&US_iiy zIXe&yELzFos79?ph&s)|NWxZaSg6Zq+mZ>hn9f!lc+`Q|*YNImgc>!y86Qx}`8?^9%O-knG)^hWCl=>6(O#4)0lAJTzt3 zFex%CcT)ui6aZ)Tf@@NM|eaA#5z5R)88C8-QxmFmKuF=fvHWeF}6 z`mdUBm=u5{PTQVBeVrRF5B}8tvXB!h_e$ufo`NFFDT%JgMgdIOo{!S?kwnsw#QFyd zJM@8)5a2m3v*A0RTXcb8?^u#fE{ffM%!-hn2{B~_{ z>qjeY9}uloFf{DDZ#)6fOv)2uCUY>>$9a705;C`UBZkca-*p&hv2ztB5P71-#p;#s zNPDg+sY^=DSE1Lr!mMV=QK#V+bNCK3eE2=)=5v^atIX!8^OW~qXvR{jUus_Os%7k+ z-@*PqjzQ>%FL8s8ECQh`bTBbjxkk6OOLUwde_-nEJEwx&0wInv@k-wKQVQ3V_dA?x zH^O<)jqpX#jqpX18{zu<^@j_!(PUpuvzoMENb^C|u&@CO!0w&u)-fGM!V9Zi=F8`N zuOmSE8YGHIg?R}gQV^@(Jet&JxoPC!NvqsZx+2z?AM?waP0)wa)BL2&j3Q>1QxaZX zG2kJ=3ngAKa)A3h-CxFftjH}a0s0)kkHt%5gwi(wO5gY?-MlR;<>r|4OpQ@O=k|H- z)wP#>efBPd`pNFgpRAtTu+y)4j>?60<@2?p@E^)i_=?%{toQM#|1WQgy6>49wHMNktUnrdDd;_1dcOtkhzcj7YmRu-p0)Wn_d$?TzlZ4A#GpvZqVID{%k;US%gx&Gjcz0o&O!l{| z6_-g!7MIP54BjDYcfi!O*y&-UipP_{O$ECnmf8<9ZHuqLb|o{{jA~?a7(*E)@fRW2 zTUN{`o7ycc76H))>-bDYbC2it3DIaWtoaVtbrdr#0R1WZhk9)LN##~tOKuOs4Ci3Pg1U3sqU0Lx!F$KMgQ%x>%Ks*xpQnc{Wo{!U%(yb`n}^+?;XMOl{|Rd zehhi?%){LDIrGe2Umky5hV#Yt+$#7GZtq%Qnyc50Jiod>hOgvi-73(f;^20ZPle!P zEH?Z>!xMt5$A;Hcn}aIFks>8ND<2}tfYRnA#1@_z-hSc%wCwm;?s2X@vsYspT{XJu zT%ezwRLgSYcp^l3yA3xJN}d~Iyp3zi#-cMLL5=<;9Iok=+*KS!C}t6OdDVx*PZ;-` z9;5mS-{qyohU>?}zeo>UKOTPlc(`{QTt6PJS+ljr!{M!KM@e4iMdzlcdcs$dopTF( z(V5|E|DvUhrL`XNiK_(7!u--4`lqe%AMJzg^#eUf#BA^r3yUXVM>3J^5N5RGn0}X3}$@ z<=dB&YNlLnn>#xZ+Ij=i-nzDU3DfaT*yU@OR%=&yTNON{C652Rel7F*walyZTBfm` zHDAkgbR_xqk22l|wIp|SOHw#5i)H70GKHu@aO8@{eO}6-h1D z_$(zcg3T%5InRw<7;SxDlwTJO+!iJ0DG{i|TcR2RTS7Yj{#|F^gGn9rB;P4rHO)rrt?nsXd z!X&PGH(!ZNh&*SNh{7OAaBewZL*9D~Nk4Fh4`Ja;BQ)QqsgQ8uPjfLQF|iW((g;1x z=cn}jh6fpJJpPDdY{2)s zse`NKkh~sbZ3bE6DIR?OG(&ASa;)Wm{%Qu zw{O$foPv$95S@x(eC0DaYUw8RuYr%6Rw|h~VE7XR;XS<9NeIGw`0d(3cn`mA48nVO z?>z&PL3r7>jm#2;Rv(LX5~J`Q-t!EiuXjA-zHH;s@a=2N5DTZ(?m=%Hd>5PL-T{B~ zR*#v#(HQl7cf&TS7yM>xsH_Z9p^Do#Rxvs|`xRvv%a;i*0tvxGv$LTlZ6hG!ySU2t zl7#S<8MiID7JI7zJ}9|v-ww++`O$Lj_7TdtCd_i0h2-7A9-wNHck;t%e9yp9?j7K_ zD7Em3w#`7l)f_ zbV_^G`;uRDc6v0J$TSQjuP{6LdDd=~_$@!cVnrF~FUlPL{*aHe<+M(JP&CAa9ZD)| z;%-V@t>3a;Xll@Sp{DiHUtm&0{h)tRj4tVbCt;ZS&+>81kQw08mS;MA;)+Q^%U**| zXZxmYa)PHzQu*OQA&+od3ukBFefM3*zx(uYgq2LJhctZ4QplNDPo|T_A|HuDn8d$w ziDg7Nffp)%giwgVkg6aQUcu@*XK8@3(ig>6aRLx%^GC@iw%stq!-oHTzIC z=}@(kB;GyP;6qcf7tpz^F#Qq!sF6v*uY$)MRq<~~rgCl&AZ8dB3y`bp1d@azu|Nrs zovn=b0>+FJVE_s@cLAoOD`+5o$sZx~y?K(Y0|9Ut^MbtvNMNk&$HIph@<{|N3V@!r zJYNQoBH8-5O8{BXmPjO7P3>F|>WL)#LIH(xcJ%TKw;7^9h(%;YfN(@sj^%Zpu~~Ec zw#?=MG#sLj5Mex+9is*THX9!{H7;Uv3_B!|?WoQT|0!YD9_;b_{XH;>p6_*jD<<>3 zPPMGydNEmJF*J%S#4yRP4-5c~i)HgKX69JX!2XySP$$cPKW2s?gXM{DL?S`cbiNsd z!HvHFseM0^ndA@WHLOR9Wqy6b)VV=n7D~{Q$w^*v^n0DeqH?P!i&3ncC?gG+gw+_S zqGh10t9A*lCUHiwUbAIvkC;et)ur}g0U2DZC=i_qmGVqgz0MRZ;`y}WG>GaY4y1ls zV6=b5i)SRo5QlV5L%y2Q{%LQ5Gzv(M>?4%+KW3%bU%H&*9zyy77W878V{ul*R%Fyk z$Y<3-vb{1CDn~$C>1OQswLXUc1=%79Z{mYZ{?N2~_yAuyZ`2EWkaQ*axSQbVS1M@t zGybR&iBZiX-@8!9;LBe*uzgJSgtIn7LbKmK7-hh;fmKZIl>=onr2;zMVKPbIVxZ;M zxedosHW%zz?w-CcKH24DtZ$apGFUG@QO*d;%b|kfiG7}E2jl(WrHUmCA$ZwO3bCBO z#%&kw(Efi6(5OJXh|YhIGC!2C@oH11B()qnOD>tP?&=%9f-3+_dWbqxH3cP7v4(0s z-tuFIoIp?_9L_yP5v!!n8#kGsT9yEN?@jcvbBpbMr+@iOQ=Gq_y7;H8X z*t95rLkkpKY&N*of^C!#K7A7gAJ{2KL4z|o!b^lNk!R^N&{;MgP4hC$5e=$15k14w z@YCU0)qFCf;E#_-MU(9i_;LZ8Y9$I`ADx4W(fwZ)i7{Gw5Gd}f8~uE?s4tUn9&7>U zVGO636@Bo0f+HqsGZH%5~`2rD0sHz5N%HsW37n5qCR49Bk1DDe(CCx>X&; zdFxuqQjp#WAl*+YeYb7vJwqU+q7mps(fI%$)x-Do*JhV;ZvAvd2e)~0$fF(fjgCV*%JSvmp!e zbOJ9;UL2+tVblZs?Ns<5IYm(BD4|Ei>ek|EOQ&A3Ox#!B8jFm}yn;IgcbfZTd7|Pb zK$Gq^Us#y1iF!Gl=9&?(FvW_+4}tW|?|&>OY_^Q59@Bps=Cjf-EM0(=43_HH9LOCH zSnxPRpOk9^S=ZoH=Gk<5$#q1=SbV5U>s49U`gG#zgBdzGoCIx6VjIS)$r;Cow28i~ z9ow5cBs@^htt<@&DI<`>J!kN!9653*=+$J*`UWJDef*@%W5xTBzp4>R!agd>Vp+q< zuT?;0gwJ(0bIJr(;209aN*u!B;gl#H;E^sDJKuu*ZJ%zv%1Sm9^fODcuuPAY@mDKz zH~iuvs2blF#Wc@MJETZ+U>_BiOluvPF9FI#2m0%I=kSkfGEI3g5Qc~QI-f}NK-U(a z%c+DH^)_srO?uHzz&`#o%olVZ33!#hj`0^fUb$LwEX_wvYRd*p!KTj^`bEDfmc-~Q z%kzif2tXJMNa-j3@|d;BSLw|17+ok(HP2hg46f9MsFGuUB$D5k`BHD|48_p3 z+p;%V1ZR0wWv9LnA3@=UyoaSAL=tdsWf7MgHzA0-P*kly|93sZ^3|che410c?=PRgyZ1d zfyZ(1?veJI{5I8bP!Sw|$4Hy$IY*vJbAd6lEK_#s5kyOu=FLwdJ}{iYM@+%efaf#N zI<}SZWZqoLJQd-rYw{1?wqzM6iIH8)HmsDP<&h#J+4qX| zz6<@2!nxGl2VLmgqqc{B0XN$|PO4Zp2Z+CF zOT6zxP6{EOQu1LTe8hpF>ffY7{D6?v1z(a%=tDuEQ2c0B@~K(&X}i+=Y)}_xzth;G z&I;L7;NO$Vse?mSF7@mXKF;~!pl>F%!6J?n6$<#>raU=fR5)Z>;y6*qjyPDvuQVFe zaU)codg2HldFsft4)~VV&(`@P>us8ngu`iQbe z6U%%sbG1fz8nT5IM02|lY)4lM<2&fPcl0GYxq-fSpwbQo#s$Mo+$~JAh=i0XK6_5S zZpEqdcaLY@ET5gQWs2S(<`07&f^p(@Z(XLy7;A+{}pXne2VGyBC) zXwS#?O)YVruJ~dbpAB%c&lae>ti6ov>Nyi&>S`(rOh;IDmoq%QaVKNQkAO$_U_aj~ z5amfB8~X5LW-(h{VkDtLR4It@4+UT>`HQSLTSLQSH|=wrCva?q>qQj!HK}%g^;?pc zMi;b+J`?B$M{owYLd57gokAw#q{1U9)(oHi@&_FjVDfx|DkZKUMt|N}p+B!opFaM* zpZ^}wF!SG)ZV#5zB{<36iK(PuEYIiKk00(Xa50&-F452D#3fI|Cxf>D-TbkH?x%7I zkxqwsRXLsXIv)lKEtb>ild_lviztr6_IObiqveqOSaqo*JkX2jrWw6~jd{zkZ}3^i z@Q@atZO0q&XOn24I`zJKBw+V?1h6j&1O(kg`)EMnwiA1FzlAKi;wlfTevSq7{&x!v z`$t~CnHF`zRk*Lm!m+}5-w!D2^w^Z=@l#We6Iy>c=U>Q)D@Lu8N7-HJ8K_QR*>|n? z_s{dos!OcEwg&s!>tnT2A76#_VnYhcv?$J(3&VW;rpDkPbRp;N zFB?-uHg;01!?6wyl&|%Hj!=7e*xJ`R;A#yYuzTao+@$ZGcUOo~9yS2*C1~n6E%-3< zIZ39pzKdFC*Rl!WtGF+#BhmkQ%&N-)XITl}_|M zUQ7Uu8;WeflwS$A6Bgg*F%#hL)fzjL^EifrLbPeu=iBrx@L?6T*=sZe;(|9=?V`?? zWcfO3j74+keqcWsE^8FCT=_mKe9@><4tX&F;rn1u9j@O~9u7EWDAEz~^aDEKTpr$x zD(TV*2g7kwVd#_g5<*hzn=iCAFkm}2)DJhfKwXr@Z#f@2W3HFLn{GHq;qGF2`QgS^ zdAG5vXt&8#G_4=q)>_j&8pQsvl`oysMBD&u?7U+=LD+79ZFx|EskFnFh;_zOGfOr$ zZVr8KJlwvm-7=|KJ!m~_V%xw?=txPrcf-z+Uyg?jycK7h2vtyO3 z7V?UPxJ(m;4TWCIrnTk4CO4$P=O&bi(YI-h64Cy$#%h-|R=u3j_EJXM%NXlj!dUh4 z#k!X+R=I4^{*pzT%N6Tfs#x^V@ul?WAOXk5*8%tDE06go?3Xkh$C0a#IsS2NAKYRh ze@3=$4LT>)H+hP{1wx>|gx$0}mBe=#mh*Q{J>fatEb?J2M2GJ&0xzKNsvcBaNk?&` za(?G6@vQ;>(M=Fs`8jX?Xhlju8S1~?Imy-oA+>pJf%cL0ZUR4-;9b-Z`C5MB2A36% zGA<6}-ONP8>Du(RxIi|5gJpiXJ+VI7szD?4=XSmi@&nx{efr7GGjcsZWcqKiq@J5l z2?uXe^oMM$Kx`O$g4Ef04oqsr9!dohg%@014$-ptyVhUy{st3UbKeA)B|@%e>L!O4 zd>e|m@WpMmZEwg9dh11;AUv?gGk9}_4>DjW9l=>eQ&cYcNxlPKeBrT_ z>gwhnOkBHu#m(I-4yPv7$9-f<_jzP3C*V9LSLg+mMyx5lT$#u1BQ z?4h4N^_K&lggcAv{mB}Aw{V}5mHE6TZIP~nNr67-5Kal2U>t!laiZM4!iQ;MSA!Ka zDOP~e{|;ZYpgXGEee;elm&x`U(tZO?z$k^WCh~=;(H)dTvonzd&Ol) zc01E%bK9J)Tbby`Q1kE=R>Q9%)uiHSO$al;;rFGZMttt=b(HK)3t~x3)M}LL#Kuiw zljy=#V_VvM3EuJgbYiu&D*S?Nu*h#|Y7Jcvqfg&@$~vbnebQDkCx?l%W0lu(=|^sA ze8(m&hP^Tc2iJY;Q9af`#%|R~nv=~>COY*Vcs6A?Qd%H#bhK8oY1M}lVjnt#FAiGF zUHOr-v;`O1Y%khtcsK8~jcg=Fw}=zVTeC{6Ll4f2L#fWSl;@U;1g& zD*=sP@Q#fm>&byNNlQPRKwhkEjNFzj5(gM^ZI|nfys*@E+0p*7@%y)p2$*)0hJj#- zu3+GnPbO&SN?aO|Y~!|?ydX!*p11B-N0hqOCt)m>^_nQXXj`Zxu@B6Oq8z=#2YuDG zy4KotjMP;(0X|ZFc3E?ltgtokRs>4U>U*a~)UMTQQ8ZqHgpO);eiZv`>M~@?$I-gf zjYfI-VDr5wKbte7YuO;=4c%NfUDIv*+14zwKS9mf>Z1Kk_KEy#&xp7tMVlKmU}Dgh zU`^ZP-7PhOG(?-`SF>*3P4&-c`)Of3Nk<8OL>nHa?QWk&F>R7GrI4GGbR+mT)8q}_ zF-`f%EhIIw@XZjNard?(rJWe_tK0^%T{E@Ogs70%hRqG5&tg@hh8fhyH#Af?GnCf3 zW+ZMH9USRvxr5vCj?uv#{anho2W#ESP2$GJw9^CMd6-zC#95fJI;{|A5tU8XaA0jI zH_@VoR~>vyF35TFQb7M>R?fT1)%~@vyyE5jFxy! zLtldIEa&;B1ZM<3NzkAfYL_-{x18;fKT zQ~~!p*ial!Q!)ysn0UYTEFU6)^q; zid<(r{$^GXhsFuBirO^rydA6Dd$gQ(9BkClCPoQqOKHe4j_5n$w$ud;?$H`8i3LZ# zKb@!a=$Ud+4_x2uTalvaw({Hb!=kIedU4IbRxPv?Q) zb&3J%Zqss1n=9Renx`-9pBz2FXimzlD#ykq8wSN2$)?H&w^Yzh@P|CK$F(_M%rf%T zRq;0W|G&K}>unoJ!hc0r3}$6OAYz-20|$9cLgOr8ks8XlA>@@5$*<2<=cGC62v`nfixyQ zU5X2=29ty>kaq`h{&^Zk)?r)$4LL0D7^FRqKoC>?q%qp_^cd|F#4GO?X+7@|X+7^4 zX+7^3X+7^BX+0kx(t6%0(z*uZm3NDlp7)5Bo(~i)J?{`LyxNdozf;zr23u1fipN?7qkyp$dboi>BYdA8MZx`R46is5p>ke$?lQ1uc?%|$GM$T-CLK$krpH+2jH)5;GWrYMy!ozVSO2p||~t2FE+l#VvVAIqZLEX%+Z0CN-W z7*e{3xERdWlmIx|;CU>HS_~Ps<7Vgx3GLu#T^*rCBHXBxBeICoh1lR14u)^~si_I# z3xW;!%`e>ALf(o`n8QL1k3UfFe$Uha+cA;z{9ru3WA__R2#a#f(DD8aE+BnIY=Gn3 z{lmvdfB`M)!2W)6;I44vV>F*_1Mpz?7NY=oc83h404MD@JrU6ad z)aquateQu8oDEvyYo4gD459F#Rn2Ne4GU@+@xbN*L!+7F*Ba(pZ<&R_iZHNdP8QTe7)nMq1U zQZkidmpi*73GDB?X?;~RdQti~(-Q5{zrTC^r(OVlV|k3%=#cQDknt)T9A4G}e_m9x z+m!}*Eo;ydTT7E=WIDe$V7JkVGL_F;=h?FGHi)O8Wj_)oC;FmYj6Dv*W0Tc_kc)b+ zwtKO*JKI)}Qf{?(+z2aU(7tV8=e=|3KcnODmJSn9#M!8fQA)^~N|mGUP^;Bftqhx% zY|e}Asif>PO$tLs_6Q{79b-*vg2&u?hS6qrSywCm-Gp%DYx7r0o@B}83+ayrbFMT9 zgFl#tU_5da4%KC;c&JAn1>}8G`U1O%q@P0hpu>Gy*VB7rJ*7`v72(EI4{p4w0hz(s zZC#he990rBncP_gcyqg4I)OLD!!A)bB2@;bW1N)H9*IrNhZog~^lY}!LgomPg0zgM zdCMB>s!`HeP>pgxt7tJ!#2pk7Y>fsr#J4;{8DtfOBAx{lN??kPt>P3nPyska8O!8! zGP=+NG?==k{IdG!*|TS(3vqMZ6yjRGM*)-G=+|FI!@PX=$r(VQGbvS8E4|CaWds;W#9xOZG#e#`z-PcMn=4%??_!&GC&NIhi1p;hVOpd&1EQEg;H=V_v}A&F3tS_{w( zzILdK$*$~eQ(OZ^5vyZjb^c%v{&+*6Z(aW?ZqipyTWXf%rz~|h2adaOikC?@O-nDd%Gl?%pT+1MtxYGfP?XdElqbJ zFaYY3@+9OACMjtXc^Uv8M_t34z>1lCc2DycbZbBc-VSWuGL9s~}yqiO&%w!?JN=5K&9f!hIT zbf5{m*kx6}TAz(+HztO9Ls#CQ@b*M^&u zf>`ZY&RB$H(Wz?vZc$o6Dc~g`9DKpwM}Gcpe`&EPoVS)=M0f9w$iEOQES+R<#1*X| zyNt&{T7r)&;23ZQ14jKa)*5gep@8Uvaok}HrVTO#ErTzenz_nyG(e|etP{KYII+7f zL(-Pa%gf7;WwRin<#bINb2g?lEycn_v!rF08zK%l?Myi3PWV9jbzOSRU?5Qt6azrA zd5;}#oCG*BBmm{rgBA(UQ5ha$`wMyk$VNnUJP4?c+(tJxjILQziLct~W)MqA&0I6% zo@E_`NYZvtn{Hvv%QVGDq7 z0fyH9+2RwS|K~&M|Lm>g-@ID2%`9ki;_XE5hZ6m?-=jqB_o%U4Qk zT+~yeh?(?LUJCiUuINtFEqn1v5w-%0IZ>WB2`f zGrcT;_KF&!6N{|uc_yEK-(J2+SCRT(BHG%8A5j7>ayGBl>|Tmj`E9p~x;Zc>kk(jX z+>DouVGsj~YvUd1)6TbN&kL|+gVUwjdnyOhj^()TruGjuufzeX^C`L4u6gEeZp#s`k zxEjpWC+B8@8-UbdVhvi@jr-~3mS!2;YC_azE@1<=>HpS4dPJi#uwij&*d=T22yS3P z7PY%aP!KmJbYL=af#|G(_ZZTZ&p3NWAR9M~@i}npe%5$K8*L_ZFk@kM%-a=SV+_)u zsKM+%pb3MTIIu$wEN`YSH<_9N=?xSHlQ}F^>vfV}M>rX+r_8J{DZIz$BJ zKHTR3zjBUKN2T$rr~Z*#?Nz+x3or#dSnZ)*?V9k;+wx*bgjJt)RA*^kzAt z&%s=r@c*63)u!siIXubAIU(J$xgR?zGydh}+C^y7%mOF+k4PmL;LZ$XRRQ1y6yUPW z22gP17q7~@HGH7RC~7`r9`Q8|XvmA%gFyBqpiH_3l8jE67I_EkcVe)0^g=R4ZFUfx zDw0s~G|u&&cgEx5A*Y#Ii?Z_-(LG@66uZcP(UqOF#gAz(VFzktfs29>e3Hu%fI*W>^Y_q67zpMy<)tdD?ybjwl znHk__M8(U9;H%FsX{|J_dDq}F?FS~s($!2l=n1xOC{vxJ^^x>xQO=1*MtbA3iHPo# z7V(p_uY1bjkgd@m$4vKm_WW!qumVGR)*4FVx|TB~27sIwC^>0fou=+=UPIdAyxh#D z^?Zyyd`|;aVO>oNl!}NUu6kLEUAA75zkH(HkXe*8@LOO=Hx*~L>TWu2JZ{Mm+7Xz_>*xO^{OBBJrEzJ{yMZk#yXqM=XA*Uz@fB|JcrH}v)f!w&3YbYbqmXgHCLd1({Ik; z_g!AV=0Yezm@r7|r5Q%wppX_wjBrSlgJFOe~%Mu&r+9dd}@{=0mgy z7r}Y~{s_%ZHzs;!`oNpj&WSg{u|cV(m`PS~wH9&gY;$c=8Fk_dl4Y#LPk)+073009 R|N7t8e*hr{3EnDL5&#Ql3swLC literal 0 HcmV?d00001 diff --git a/static/js/marked.min.js b/static/js/marked.min.js deleted file mode 100644 index 481b9d8..0000000 --- a/static/js/marked.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * marked - a markdown parser - * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed) - * https://github.com/markedjs/marked - */ -!function(e){"use strict";var k={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:f,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:f,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:f,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||m.defaults,this.rules=k.normal,this.options.pedantic?this.rules=k.pedantic:this.options.gfm&&(this.options.tables?this.rules=k.tables:this.rules=k.gfm)}k._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,k._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,k.def=i(k.def).replace("label",k._label).replace("title",k._title).getRegex(),k.bullet=/(?:[*+-]|\d{1,9}\.)/,k.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,k.item=i(k.item,"gm").replace(/bull/g,k.bullet).getRegex(),k.list=i(k.list).replace(/bull/g,k.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+k.def.source+")").getRegex(),k._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",k._comment=//,k.html=i(k.html,"i").replace("comment",k._comment).replace("tag",k._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),k.paragraph=i(k.paragraph).replace("hr",k.hr).replace("heading",k.heading).replace("lheading",k.lheading).replace("tag",k._tag).getRegex(),k.blockquote=i(k.blockquote).replace("paragraph",k.paragraph).getRegex(),k.normal=d({},k),k.gfm=d({},k.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),k.gfm.paragraph=i(k.paragraph).replace("(?!","(?!"+k.gfm.fences.source.replace("\\1","\\2")+"|"+k.list.source.replace("\\1","\\3")+"|").getRegex(),k.tables=d({},k.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),k.pedantic=d({},k.normal,{html:i("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",k._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=k,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,s,i,l,o,a,h,p,u,c,g,f,d,m,b;for(e=e.replace(/^ +$/gm,"");e;)if((s=this.rules.newline.exec(e))&&(e=e.substring(s[0].length),1 ?/gm,""),this.token(s,t),this.tokens.push({type:"blockquote_end"});else if(s=this.rules.list.exec(e)){for(e=e.substring(s[0].length),a={type:"list_start",ordered:d=1<(i=s[2]).length,start:d?+i:"",loose:!1},this.tokens.push(a),n=!(h=[]),f=(s=s[0].match(this.rules.item)).length,c=0;c?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:f,text:/^(`+|[^`])[\s\S]*?(?=[\\?@\\[^_{|}~",n.em=i(n.em).replace(/punctuation/g,n._punctuation).getRegex(),n._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,n._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,n._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])?)+(?![-_])/,n.autolink=i(n.autolink).replace("scheme",n._scheme).replace("email",n._email).getRegex(),n._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,n.tag=i(n.tag).replace("comment",k._comment).replace("attribute",n._attribute).getRegex(),n._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,n._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f\\]*\)|[^\s\x00-\x1f()\\])*?)/,n._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,n.link=i(n.link).replace("label",n._label).replace("href",n._href).replace("title",n._title).getRegex(),n.reflink=i(n.reflink).replace("label",n._label).getRegex(),n.normal=d({},n),n.pedantic=d({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:i(/^!?\[(label)\]\((.*?)\)/).replace("label",n._label).getRegex(),reflink:i(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",n._label).getRegex()}),n.gfm=d({},n.normal,{escape:i(n.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:i(n.text).replace("]|","~]|").replace("|$","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|$").getRegex()}),n.gfm.url=i(n.gfm.url,"i").replace("email",n.gfm._extended_email).getRegex(),n.breaks=d({},n.gfm,{br:i(n.br).replace("{2,}","*").getRegex(),text:i(n.gfm.text).replace("{2,}","*").getRegex()}),h.rules=n,h.output=function(e,t,n){return new h(t,n).output(e)},h.prototype.output=function(e){for(var t,n,r,s,i,l,o="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),o+=u(i[1]);else if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.inRawBlock=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,r=i[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=i[3]?i[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),o+=this.outputLink(i,{href:h.escapes(r),title:h.escapes(s)}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[6]||i[5]||i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(u(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),r="@"===i[2]?"mailto:"+(n=u(this.mangle(i[1]))):n=u(i[1]),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.inRawBlock?o+=this.renderer.text(i[0]):o+=this.renderer.text(u(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===i[2])r="mailto:"+(n=u(i[0]));else{for(;l=i[0],i[0]=this.rules._backpedal.exec(i[0])[0],l!==i[0];);n=u(i[0]),r="www."===i[1]?"http://"+n:n}e=e.substring(i[0].length),o+=this.renderer.link(r,null,n)}return o},h.escapes=function(e){return e?e.replace(h.rules._escapes,"$1"):e},h.prototype.outputLink=function(e,t){var n=t.href,r=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,u(e[1]))},h.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},h.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s'+(n?e:u(e,!0))+"\n":"

    "+(n?e:u(e,!0))+"
    "},r.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},r.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},r.prototype.checkbox=function(e){return" "},r.prototype.paragraph=function(e){return"

    "+e+"

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

    "+u(e.message+"",!0)+"
    ";throw e}}f.exec=f,m.options=m.setOptions=function(e){return d(m.defaults,e),m},m.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new r,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},m.defaults=m.getDefaults(),m.Parser=p,m.parser=p.parse,m.Renderer=r,m.TextRenderer=s,m.Lexer=a,m.lexer=a.lex,m.InlineLexer=h,m.inlineLexer=h.output,m.Slugger=t,m.parse=m,"undefined"!=typeof module&&"object"==typeof exports?module.exports=m:"function"==typeof define&&define.amd?define(function(){return m}):e.marked=m}(this||("undefined"!=typeof window?window:global)); \ No newline at end of file diff --git a/static/js/marked.min.js.gz b/static/js/marked.min.js.gz deleted file mode 100644 index 0d72a93da72f3c011c0332f81dc1efbb2b564b9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7720 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 diff --git a/static/js/moment.min.js b/static/js/moment.min.js deleted file mode 100644 index 02711ab..0000000 --- a/static/js/moment.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function d(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function h(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n>>0,s=0;sDe(e)?(r=e+1,a=o-De(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(De(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),L("week",5),L("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=k(e)});I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),L("day",11),L("weekday",11),L("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=k(e)});var je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var ze="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var $e=ae;var qe=ae;var Je=ae;function Be(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=de(o[t]),u[t]=de(u[t]),l[t]=de(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Qe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),H("hour","h"),L("hour",13),ue("a",Ke),ue("A",Ke),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=k(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=k(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i))});var et,tt=Te("Hours",!0),nt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:Re,week:{dow:0,doy:6},weekdays:je,weekdaysMin:ze,weekdaysShort:Ze,meridiemParse:/[ap]\.?m?\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(e){var t=null;if(!st[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=et._abbr,require("./locale/"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&((n=l(t)?lt(e):ut(e,t))?et=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),et._abbr}function ut(e,t){if(null!==t){var n,s=nt;if(t.abbr=e,null!=st[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])s=st[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;s=n._config}return st[e]=new P(b(s,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}return delete st[e],null}function lt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!o(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r=t&&a(i,n,!0)>=t-1)break;t--}r++}return et}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11Pe(n[me],n[_e])?ye:n[ge]<0||24Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ht(e._a[me],s[me]),(e._dayOfYear>De(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[pe]&&0===e._a[ve]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&0<=e&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var ft=/^\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)?)?$/,mt=/^\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)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function vt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(g(e).iso=!0,t=0,n=yt.length;tn.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ln.isLocal=function(){return!!this.isValid()&&!this._isUTC},ln.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ln.isUtc=Vt,ln.isUTC=Vt,ln.zoneAbbr=function(){return this._isUTC?"UTC":""},ln.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ln.dates=n("dates accessor is deprecated. Use date instead.",nn),ln.months=n("months accessor is deprecated. Use month instead",Fe),ln.years=n("years accessor is deprecated. Use year instead",Oe),ln.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),ln.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Yt(e))._a){var t=e._isUTC?y(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&0XEiwFpnw!T^b18r|@Wo~pXZE0>UYI6X@I}KOcxUzpG_>??*t$enHty8ZL zyFlqKDec0RrAaQw#3FG??5w3Uq&WZm&PcK?CxN#6-Z`)I*wRQEjYgySlCyI=kA^&q zBa;$tJs9!LXFBAD>+=kYm^5{>FZe=-4l1@^gy9ZA@6VZAv@iRedhPBfff;xMQ*VLUC`gQDGt z=F=ORXq%@k=$&Z$(b>n3@$1m%I(Dr7DDGP+a=4!nVQz2Gxs4Mua+{s#HLXu*G~(lq zZATWX&*p4wa+CI=0f{WDqbOnpvZ+L-8aAjH`|NBHy-(s9P54sL0s{&J*AfAeASi;x zR=71aIZRlsim6==k9=}$GP2bfqEEh9m*+)`h>lWeObIC(39 zARB=g#bSKT05J_vV&40pFL2^1O~N3gQ;93N9kzdNx3TYn(!0Q4c0&eehhqS(fK|Av zV)-*%et2u*`ot4kM&snuM=HS151o^fRz6 z-Zr44?|pXkxmuerLnt|1vE!FterbY0G&}5d)M2)50f(8;6V)nJ(uJ0b_t*eVD$f|O z(^Sg<=@sTHafiy@DUB3TssA!QEJ~^oj2+B`q6-{5=!$`oL@P~Ax&d{!bR=?kHb8Vy zz*_}Gbp#a&oG9SL6%`4TvZPvM#Vx?H5C1w<9iZeYfSR5Cb@5wHGL+pMC_BWrw~S`^ zWyLMPvd=6d7Ze-HKt^v2{HGbwqT&`{(tMq$O|%LllYu%B?B&D+ru3MbfQ}ysJg|#y zm`fmCN!i$G72DKBv02DXhe_}aTEdO!LKs9-NiD#q8o%9Z%Dy zBkG_5fup)%zbj6$O$qW^;b`uNb%2TpqmZNH2aAf_L$Qrffxws6P9g#Ecf~~05RR$Z zGLoH1izKquzhQZ6t!VXOcHD7!Y(sHuP0&`jyGRYZ(sTy^cVfdWfZdr0MHTPcc1F5y zCk1_1xInQh!#bPKW(j5Nkiu)|WBa9_L}2+Jahiv5#Nr9?Ulr;L=w7awhK8-Okm#I> zVe4Fu%#b9KMZTM>81Q2>$5~m$9iTHPFrN5PFhRw?4Jv(S&<%c}5n(q#JrQ|oa<^JP zJvb9}4TEe15P5g>opOvqZBpAc`ccoYBik5MjKX2>H3t?nGTXpK>tNUz+aMLALqTxa zBpgz+Nos9tMJEsK{OuI5e8>TwQS`qDrJwR+qi(B>2F-V(XSUAkEO+1lD zNfIYk9nRA54h0Lex#D@E!VaMbw6FvAXC+1W%zaoDdgDT>_aELG97WE06hzj%GF2J& zUXzOZ$4>sS>Y+L98R$nH_nWfger-OiK>bPYea&s23&$Bsb5l6ao{2jH%pljIL_~8| z5nU`t@&zj%%iL}!pcBd=3KTAQJ{7gl@yDrlvN`i9@EbxIIH~y)`jZDTcMcn9J3L%4M8Rx)}4q<`jH*G1fa3pSX zZ@_TK*-vTqiYq?UA$j#()Z47nEhVwKmFd|r#|=x zX1@=@+&dW$rc;wK%S*d)+U!uw)5X98*2d{2ygvZ! zO8iTUCp^;8$Q+GE9w2`6#(eYU4VGwnl=|sGIv#uJ$%&WV-FfMB>ZOc%>G?y8yjrFA z>EG$suU`7;lb6=5#)!PxO8Du;d3t)0o}PO6mrh{tixqbNh-dStv>9)Ua1=Qax~#Jy zF<|S!f6^?E+FU$QptB)b1*aYQ9N~_Fap9uOL8A}0jQYzAw`)|;5G_;_?ExZ;1d?bQ z262+5^9PQU4;vaMK^XayM=`^Z*Hqj=DV;zIFUC(ln<=F^rNB z_?Nh>E+Reioz!2{1)+0uAC!V~Lcx+A^%CIGz{97jDvqeY%=oqxng;A@pY_iN4a?*8 zgw7^DSi=TvblM+0gRKPXt!KvOfzEO%Ei$LN6J80xSpWLfXp}biO=|3 zaIx-zU^wa^5O3<7GVIi`&_&2r{{{#qrT!$UxvjEu|H*Cig9iDEFDyL6!o%}bgZv{( zFQD|h+vwS~fd|z+sQxPZdJXbHmQ?NUqNX5!2ox=X=qObc#K>uZvPBSSB%198VMPFDTwW(F`gmldPmH}Ih7M+a1>mEsFDXuoHIIvt=wwfX~u3Pr0EDl&CpA;S=L zr726(aAjGV{NuEmlF8@m)%q~!f1dqhdvyp5d;P(~YJjJ=-+xv$q)$06b8jfPmz`wh zM&clET6Rndx~N4+U<%XB+%kvJ*>W+0TVYg*dLYlmqBi@@o^6*8)dQ2v#C%_>->l>AfF0l+EwT?6D0 z*yfzJtO--NqD3KFm#HZn=r&$lC|UA`G7WpNh!4Y2$ghwsa3+=D4Hb#o&}<)>4cb0N zjCdPi7QNLJeK(P~xS27JQbVjjYnV7;;rX(AhTVkK5nEb|p?N_262-~m7VNZ|~ zk$fADRb#vRyY1B#-N-zL=xm(bZX}--d@~@_{4eRlX4haGv(3Vt z21gSZno-Xck+s$el!MVVKs|K3LJ1k&*mz72DVEwTp@v{YcTN4#Cwyr!n4OQ~glEam z9LklyKOZyDMUib%Y=m~X=-~DLrC(G+&dXtDk*H4Dy>w{SmPN2NJ z{(T-%cubbp2lLUK@#}Ls;}q|Yug``&#`nAUiv%3fp(q%2Hk*XpG_DOv%%5^5oCPO9 z^cix*ji?bXVnl3+sDz_PF;Fc`z?+aAO)+K1fMUajyCV(_ghYY;tRVvfIQASfyjDkK z3=vxZ=Z$U?Ot~8{qL?Jp+j>S?YBtnWnG(dSAMy=VWr(da2Es(>x4*}9n}PU^=GP3{ z%mdh+HT$6OO9$(ex;_=V@|P&(lf47VAMzSqI|M45o*C^`k>}|RAa;dElBchP%4)S` z%;+x79vDgjQ6tH2?{lrA6i0+Uwnf5?=By?8ffgO5%=gzBLNG0qmy*0xqE={BaK-Tr z-Bk_WmbSF^3(+}I%_1W1$O{`ySGZbGVf@E5>_lafQ`~Y3G(u=(7e(uu$=$$K?kLp3 z_F2O3n&l}BYzu}$Cg0HFN+-XZ!bctCdHXjvnzIbfZncV;IQ{AeFT-GP=1Hh4byf!A zRuxoyq~-kIzRhcyjjoyIzKvvp?O~Qee&{bvtH!O}eamK`nsZD?RFBfcl`Qc|?6&Ov zpTN?$!0Fq!Be3|p`}Rkvkc*qZ__f>gd>6ux#HH9bcH&<|FybM^ZV}&&YXV?72*J8V z9#A(p2?_k=*)6Wl@ih85{`F5&Fwo z)&xDJLm``AigMogQhEf7+`Yi5bNAvh2ji>)e2XT2fzvDmYJyGM>^$$WESKDbI4ldT zJFt!bJtZT+1;9qiwFSWsxKHX664r%-TXMsKe}!g?KNtKvOl2fgVlY&zToC09x8j2|JP-Dk`m3zPWl`@842UaFFjN%}Yml3D^6GOQ^AX&65niW7IYe zH29u@+87~qI7H4U$A6D^nc;fczpMvq-lgK5_z+6YEw%z#|A?&T@{JUH1`qIj9s!1H za7OTTF{cdQmo$iE>0&%jMBz9I@pbOQ@^Qb`-N{c98Dc^-hyn-WI2^Rm|EuT^-Jv&h zhQ81hdTw-lmitEkE~pxPawW&dTat*C9~NErLypvhp24naTas861vPhZmG)SWy{-M5fDLK}#Q z;fp+{C>}tuB}}u}CfF@$lx3~;T-rGp@P|q~9~8xt+~|(;(p_Fc0mwZt-1NMHn_aXZ zqdw$iT=Cxuf!1=8w}{*fpho-yGNKBC4kF-Pw`!U9ibk!&dn3$ZzYqz)ro*yK53CNB zwK+7xp#S|;Gs95rijR>CsTa0YpuwaUtaB5OoEJ$T!Z@oBaowG!N_q<(Y$rVbBCg%Z z(G>nDL}`TgW@Rt}ADsue_>Gxfh?wEWrv>>!@Ru?;e3Y7#|Lav3c>h0EseC5N3FqQc z0awf9NsGAqfC280nu5iVn; zm%;HqTn@RSjMGF%hi!69?-YuIN_i+!aWrAnF;0yYDc{jM52qLBjxlzoQ-`q%ocYrW zSrui+=yn^2hYfjEbSmoIZsm|vGRPXJk`EP4NC>HH>#!o)mj;fZJ`Jy6w#*>v3lPWH z1vgfN<y2Cc(n|IPzM)y=stzPJAAIq4>eB1I{0)O~4pNm0j4B888I!u!=u|@Qpc! zU%3UdtaK$n7|v4Er`SVkSEx)yqf)j88AD@Kks5P67Hwm>_W=$Q!AlSbIJyG{=?ZKz zG2ZP;WFpIBkR>+BOTXn(v|xn+V`LBKgc2x0{Gcf0rORsJFXoq3-r7fI#YOxzsKlCK zIa+p9d;pSVq9AY)`C!I-bnw(q)T-6;JNvDg#gpX&cPY3b{>@DSoBq!{Okn1EL#pfs zesfD=%p0$U;o~-v>X#p4+13SwuYzz%2>y};1ObCX{IQ<=b%RP&%O0lW=sVCG1ebUljw~c^IQF9v zt-ukW_aWn9G^!|bnPJiA*@}h1d6@*2IGQXgH?)GkWBD(0SO3+vk+uI7b{X zf8!!gVy-Z5fNPdT8%IgfxEA6j+}xB6d?-2>v+3s5ocdpE{$o=aTo;?N;kH@|TqO}! znAKj+I!)ZscrH5UvLi;NpbS`{W2Wk5$9QHs@3{8(PE-KP^sH!DAJW` z77K4RkuIThkz8$(uYF%Kn%po6Wb>g|N|&F#0-TIYEbRckk-YKVd+hRpYOxvlr$bZr zBBovAijT13I%p$EI_eEBd5_UflUqvFu1$WC#$9l%eJmMZKPNcgC@#wh%C*iWFO@Vu zSTh>bgsWJCYbb965iyam3RX6l(VeRG7}B?WxH?#S8JR&uUK)Yo4RgBPE8zoCHD9|j zWO%1CL#sC;!jL(+*cf`RyD#>*Zw3068q0TMsE+!qyA>7-Oo)}+5>)iDmr^H*nV?v^ z=f9_&@o`VI+snMwG9FoCS+esU+er>!UVI)K{nz?>8|EBvtutv;5ZpTqqdB;GoS6z<<5@lGZ_eTr0y^zV|e-3xd;=XyW`EndgS_NU2Wai8o9 zY0rGm+_;+?yi!5)Vx4skYxA%Jpp)xJ=hB%XQPKxq3(bO7bb^UCl<$ksah|zw-W9TcZbIbZh>R>O}@mbS>nc!R}Fr)HlFLUe##e6L3$NMQeI=~G>lIq+g zHsF^!#9UE(tEu2r>xl?PNsBJ)weZX!d|-1&e8Y+ks9?}7 z^-A>_Ru@@iwd-YS9>}$ex*wc3XxLeC!>>-_6w6mPkkjv`T1tB)-z2EN)5nWz-hhIv|H@myTe1b`@OC$r=C#ilcnhg zcf<7a#I|G}y3ZiNu#K56KBgk0;EJd5)hj8U=^W92{P=7fnm=b9_#BJ^n=h!%7gV#Y z3 z9Xl1w*l(H`r%O6QKP4C5j1HZt34LR!oin*eSn(Y-JR_4^r< zB_kN5Eib38Qct~@e}j+g%_-f3-C|6V@9_FTzUW+E9M6-*Nitp>U(XjW^K@|(i^b7A z^Mn3b;rBfy8T8Kz@25ChyiDFN4&!|B>?Wt*`^8W5jQ&4aJeyxFj*^?jZx>?m>+E(h zNG?zWdlD{o93*NM${&z78S<$W^yKaF;^6RjF?{j-@Xcs=G#DNG3vYP(8LoSZR!}wm z51S4QfpAY??Gip*VVEms@OymO-H&#j>dDK(NNeuolHq1~~ zn~F13Y@-WehBW*Sb0I|?7ZR*_MQPvYJq2`@IAVqzkR4UU2gECSB^*H% z!#&k0-94!osjPrBD&XUy&AWTgnfW4GH%moyVkFzToH)9a2D>v>Q@??R{KgTKSS zF|}3rK~NRd?0f4QBouHED90MG99|#&cK&3y+wQwnnphpw#H^moHv*^ibsm6&{bY?nP?%*)Zpl_=;54pVk&V0_1*dC zg-+!POh}uR#1T$REk>pbBAiL4-gQDO{`&fLGK@za%^uA%O<^p(Jv4j~AUYnbd5@oz zP>rH-`#R|EPrfnciEpkz`%!O;+UaVsmQpz40%I>)p8F`0w*j^4DzH*~=hA{YmBlK3 ztpeCy!D=;*d*+DEsvaL&5M-)FpZet}TbG9hhz1I1C?pCMmQMMwgoY@p1;>}5fL#dG z005+kK#m2jt@p)&E9)+423A}Ha(Tf^BUfB=LnNI|GJ5&i9h z;2wH3t{ld^*d%-bjq-5j#eV-mp%mVmx_Mvf4WkAoIYJlQOWnjPz&}hZQlbUvzEjIy z3M=#o%;cQ}-mq6*c|*pl)M1RxS)S0@q1Gs^oqWHLZlyVpv*;8AuwJ%U@FMcVxX)xaoPd;x2ojkT{_F1GwG1-6 zh6`}{S*8*5@O(Ukh-f?4JIuZe0R=^4(pkc zm-%eUOYUVnnY@oLKEkMgdRc~aYNgEE)AE7MHPmqt?QlydY7A{xy%*V!C7h!QH-A~e zE28JT!hLzbUwT6!C2z{RiGIhxycF!gLNREa@sLl|Kq%86PMJ(n85`AgFj-%(>mzM? zpaO*Bn%C%u4^JB}OpWC=W?2~U85|Pg;2~Q3eW;i<;2KyZBIdX<(b}U$k%z2srfxO-j4 zU6xTJP5ggM5Fb!A|ACmxTz zo;1nMt?W?u#nB`m3u_8ogIn1Hrp^PeJjy(YklDD&XSeA%88^~`wc0d&aU-Xtca^1| zDVex2Fk_8b-XLxbDp{hRT2suLbCJ)LTRK%jv^{u|0h=S+-$disHmV1dHBTDjl<46+kFThs zD0-KovV_{0&TcWL3~KKA&BbgAt@JehK*OL8Byo{+8gKZQ;+IK|9)F*X`a{u1KUTEU zrF~jHTtF0Bj-a>M&|YcMHCnU5F0RTlu$*uyofrEjfj2073cFAmC{3@%M@q&)!!Zh& z#-A9NDv8IP?;Ipm*rsBeC3jZoo_{Rr{f{&oQ3lzAz}E4NW*^%={)9<*%P2MPD?>qN zA07$@`adxgJlju7L$Md#H?Cz$z&s`E9}ROn^MtxVh=@bMny7FsP*5p=ULgfiy}e>z zSO?|8hy8!aWgH2B-^f7AGX~pp@T}NlRYXG#S@7qa_~ry5?E|b_d8E6CGBDLvR84sv zaf&&enhu8ME5}mkIjfW+dHyXHK=BkE)gGeIjB%rg>BxU2S@1V671m>Jz&G0(~M0X+rz+ox|k8Xfaq_7`5Z0GIyVNi{GFz5U?w6Apj2?6rMnN<&25E#E!yZ$@xEI=y7Ex>5>LuG7 zlh$ssvoYuJjIR9jKaGtU-&3x*^>`yMxhF=gw6(oaw0c_`naL_}qN|v?2~32xFF$`j ze@|4~MHBj?WL4&3-@S622%nd7?RWd_-UfTs<*=Wk>E9sk)Jbq}E-!@yS*fv+cd$a{ z;zGIRLLJy_HLXId%jb9-c#1ID2t@0x_t#%uvbo!3o9m3@$^X%W!P5c)!#2$n%#|hesS2|lF|trXtv#}05QtmIq_F2LU2KxTc9-c;>Xm5o=VfXMT*p%xvqdn1-wv~2lbu+E1xDVSI|7t^vSh*NG6 z7YzZ|p2LHs{Vq^fz?l;z>Zf5lweRTH3azt_2GRo?bf|MNnPmz4FnUMKa$x}d#NI7J zFf+b$*JwKz4@@3Qr5MbWBjy?HwW@=5#wPNau9KItyKWEM71?{V(RNp#0~`C9`m7h$ zX77F>|a}}o)Vs>K72J~EN4zosJhE?Z&%Ou7c3(`YcI}PbYba3T)p8BJB<;` z#9RJZ$Uji{sSuPm8%mq^noG;VZ%}&JZjJgtqzXEt4ga02vYdEWmv~Z_IN-$N)d#P> zyWS(&QM<~Yl^2i{PtZZYYgxS|CN=#$`Z6sbq;iR1Fb<^+K@lACGbV7$aIE};LDCpW zElR??QzD;4c)U1zp=HpxuV$bVkZsUbAW9YXs54*gVW}H_^wS%>lbeO1KkoJzs`IbAV;=2awj7@92v{VBaU3l z$Sy~wGV+)sg^WBwWGQV`Aiu#Zg)2z1kk~XY>FNM0Y-oAJj6;4Id+=ebh{Xb^>J{XO zFYYU#iB)#e-Q}K$h?X!Q59;_ap+gpE5dADVl}jXqW$&rXa&&&HUI)1AC=t60_6vZjwBm(QQJ0v%@c6GR$Sr-Ze}?Ss-Z03jEIBuxF-0 zw$qF*wA4hK-f=vwF>0m-5D+IrEDCMVACyBlh+x z5XwAy4r?~1l~4}InBE;F@F@szw1BY);`MdLgkjVxjdRk9H>kfvBN)G`IbfHMPd4ng za%4!YO%R{nN%{0nk*5Isa_I<90-`rDU5}rM&Se(8a&VGqYP2x728Wd94We9mlKv?o zT1ma2N$-Is`X`RIDPGLqi##S;=iJ$TEbXECUC{Dsb__^DWnHTqRbjwC+g{cJq7|{f z64=Ts+Lbcsmo7z=PUfoQX*qe?5O&gK$8kM%Y_uKiz5IYp-{tG2O?GJQH`%<~@-7`gL@X2%{kRG26Bq42Av>l&c{7$hy0}k zW4yZhy7Mt)3GY^69}f<`UQA(EluFX;q2|zFQ`g$GsWr(k4zmC$l?SU&6y}D+GQ_}K z)D4wN#SGTQI}I=SOC^`W+BmR?lUFu~hK&O+dTk=IQx=I*4$8(=uPrjA8n#Sehzd0i zdOp-JWx;O(v}_rG7G0Sf@PlX<4}wv?_L{#lzRT}3N3_M$Y2{qM%b7F@kL94K;HmUQ z{e2bA64uDu8=eH4Q!NeP0}mTNAmR)ppo~Z~pbAUN1{y2{v8S?~fpNA*S@RMGvj;Fq zlD<&Z(JPLV&?24BTu;gev;LA~DbYRc_B=r61~kL>3P5zVdBK*}aF>;`f*;x3L5VD~ zjJ;*$c@GI%UOsNYuiJX%{&dH(n zFolsEHC>=-7)r{fmB^HvHp0|GHm&15g^W~~rcvHDU7$!oP2Z}f^DKyE>qpx86|F-+ zNj*4v0FU6Wzcc`W;SW7F81fCdg!yMZxqPUwTlR?8LANX{b{-!o0Nzzv-0N+=)IBVe099@C4Zy6QhXXH{ z?~@k9Z6ZaZEQ;j=YZm@cU>_n=TQI7nbki(29m$VM&u#MdSb8vc*Vt1%?}=@-6@ zBMT^#?44ZArS2uLP>IwUdy8*!_E)c*VI@iKbP+w%AbF)dQ`#gqvqGp%BvdEz*)*!< z%~quTM=S~~Nk66j!7lUuGvR#^Grlkes5(rR<~HiyB58A6&!;ggFlbMeZkV+n_|RSb zb#_T7{g%`~X=|e@dBk_{oH>NFy|T;rJ5CH`QF;;r z&4TMPg0z1+>ax%YOHgwyMABPQxSBRK7AbH4pBT)(JDAb{m}Hf@@8-2b5ky?FX!Q=M z1nEtWJ5)ft+4TG-?l*lk9x2L(+BwuiRH_K1@xXkk3hkLPT36u~QX+AbQQbPCv%PM9 ziCg&287{tKhDC)~ugoqRSlapZGB+B0bG`6af3p4P8}Fqw>fiFZol>SZ$j9l5eX(ys zl&h*;sNbr~yh2mizaEev-#8o(q=M1Ene9^|(chg22v+nnCrsl{(R&$6v*;6tAgD;Q ztCy4bs;Fs)zmuovifpZ<4b~Vjs~?E>t?|jK$B_cNG+)$Cd}Vn5WuB!X%z~Rdo#m;x z4_^+m(b67<5>>KZ4AIer+QJ0!wVEZJ#<2A9^+$TO1q?p=$rLt&g%VmG;Uj@2V!_}m zblG>_BY#JzbXv<O-qIH>uS(6VPL1Wxb& zd%GH@#*L)?SJ#d9G3bd=@~9jrecX_mywDGpNz3&-_hhRfV`B7|ux zbQvs(E)jX5W#z?~m4bWc&8h`;ZG{7SsxM`!_k~wWek^!vCPN$c^ezQ+Wausof^}(U z#DMsx)N>q1Jwr}?cBN43EZY};K!kATl}hN}C@dgl%Ohx61*|~F)Pu&alNwA-8MaPp zVKnL&)zrdhbe>vMcg(^ksV?#|4d*LjbKLb=Gd%|`d)|~vH%kuevCMg)%LEY4`EPs@z6c_ zCm44k_DOC$vP4}VgxR-&>VJ#N_Kt0DOI8G#5@K_UFakTqCe=78qHix$*#Fjd`H)3< zq`V!cqOqRYKb{1Y%M#jq0c2QqdD$P8}-ERH&IZByPI!p(5uDveX2%I%xxZ3)e z%6nkT+=o5Ae`&r`?`7h3&V?niPjlR(X70?(*mG+kS#-(PuF23uL{~P?q;%#!`uat- zwBGJ)s8JjDRGTw-vl@_H3p>@a%q8+B?`bShaN{6j6GZjFICciZetoq@CXxTShj*;^ zD~%0tsMXhInKgK^vyHVcLef~VyFV$NzS8u2H32_iK`$wSnsAU+r==wnT%RAB{;u0k zDb1<0HhVne{RGVPKvp8jG8w5v2J8j9_bYv^rY)qg?H}ut?dk=@#^bTVD4?RQiWYQ< z7pQhiTuK-jC``mQ)AriBibbEy*#qI`Dy9wS@J{P;$7rM#q>*k0FI~%N;KELB#%^fy zj9<|&eDO)p{b97dHfOa6m$&CkESOcbdHWaYW+2hbEDun+EBExhN0l-P(5eR80fy!?w1%C$m+*mDayaOCUP%UI_3#@0vf3ZDY!< zwPhe@QU4?FoydRaGJTu|?mIEAJjpXYDqEp$w0UC-7$TjjTv-D2cGP1_qJnw zwl+^2x?0p*)_K}+>6L?opa>FG1lp*SX(FK8V-1A3{50qHW>0=D#0_(e-TJk= z@x7pN|A0 z$*N!I_`XgyseWaxodG3|3w@u7Cnj1^J-H2ffG1K!=P@ws#y#p{mN)ZP#S zv-#}qPFr~}FmMGv)dCY9G|+=Ho&j1zn;$dy+uNI=5s>xYy=Wu?rb5!O4Mam~qV=}l zyzP`}D31uaHnU}tpuFxyb0aAisPTo8VMbmf;2{CF(GkycvFOoIF?Le;G|RyphuyKs z(y?IdmWS(OQ;|VlyeFF`-WPUH5v`rHtJn+*Y_ynPS%ux5lskeQxH$)ecQwS5=n{iok?!ks*@Iq<}t&CY>C6+6~28WgAy25A6a zHZqE;ZHeN019eqAV;33U)`9d0_&yt+eTwMUwY7{M9KFb z;OL|m_r|OQV}=H8aKW|A+LY&ZnTZjz+a;Zjppp;+NF!OofJWuuOUDaY=Ro^!e33q0)(S9T{ro2RO)1B z_{zdwT+T}}ytvsl1thUdUY$4QYU3}@r7(7QFy!#Y_JqpJX|g^aEWN$jRB^0Vs>q%> zW12Z;+k8z>7m@nLF^cJ%!p$^!M$ac45;|SA*MKf`<}~qE683_|a$+ATyNc6lO>`|* zR>+J;*C&TC?_|s#!ff<;{y1dA>T=58*i2r9j;b5`=4J5})K z`D`j%c_i~PJvyCcK(zlN<;M-p?3i%ZYZ$u4?2nLJRB)xdD$ipX@$-#ETA>EXnpy%; z4#g^u*ho{egI=l>>Ck;Pf97QPKjY9GsuqvtR?po)&;4TYjBU`a3(v&!pF@TO^k4))uTU(J?N+W_T{v*J^79u=!6)MXRmT?zOPO8I}5)~?~ykX}QoR}(nB5Z3? zp)&94>TEeP)pna^p{p=R>L}%H^ zutmzEBwrm@P}T&DQliiq8&pc2o>A{oAE@r{&Y5nf)wSf!HBc_e6x$EOcXp=Df3#Yw z>3Vx}tM%P>ndVPB4M##MOkAeorwSUz|Kb-leBxSGdV@>}L8OJXh0IkXJ; zpp!9(OBnye0VIwH-goT95k+)hNiAq>@ge(3`a~X`&oWDpGX9t)U-G=Oxf#RH+xQlL zMxBj~c-Yz4ihG@Qn?dV-@J-C0t$qkvJ88HUz}$c(FS4-2_U9_0c=X*JRcn^Ez}cVt zkeO3O*=3~P0Nk~Sq-&9QY^4??!6MlUf)su-gjo&=YdKp^wpwwDzYJRg(c^VAe=|tN z%Sn49o+LTKe8)FQ8V{4Ki%K5v#}DZ+cw<@q`p@fbEBa;~`Mr)(@hFiwd7^c$h?mkJ z>gu?)$8rQ$$q2qBwT3cF@pbZZrOt5nfuK>SQ{0v*sF~IHON)ZtN0oGX*|>_-v5JCe z_d1$J>Q{pPkAeYs2NBGD_D;ID(IirP;=P~EZf3J#SDosB?qzfzsSo140q;$jdkEfP zq)y07)BeE4P1JQcn5X>8O_KPh7}CNtY>=?056zW@al~yey**?DlV7@1$sQ3ax8Sb2 z%5@m;hLn1P5^05N*CxX2zPu8sPjW}!&RQHgRE<2FJjvXR}P^g&$G0~V!| zA>4|n;yN@eaq>Sa!-}{KUu;Mdslxg;lq`@Y7AT6u>RLH~Djc`5xr)(*sp0~%=$&t~ zMJW)K#l>{t1VFgODG=F3NLX+Mbu}=m%4!itxxrm2M$^e>Qt;fLP9cdp%l^nFpR*-Y ze_le+qbC_%8^tK;WgIB0S#px;L_B}@#Q%Zj?H}UX!*A(V@vyqhkaOarJ<{TGgzYh1Zf~q^y!~z?-HP6{-@-s_t^VN*IxhRPJ7YD31*)wvrF~7$ zTt+hyrf@VAVNu6Tq_#Y@b`mlyhc?ULcY~3XI4gqL2t)eX`|^&3FoO)C`@LX7Tjqo|%zIWZ8ekDT%xKGx7plBmo|@2|c8#F?K_hAk zFA}k5LR`SXCRd1`q6gCHpJSS0+IOCD0`7+oeqN#0&sEF^2uc)^G6za~p22t` z8;#5|@;}B;ssWSIKSKX~=|?3h;E#;IhyG#de?)&UN?>k(gx=3rRtPX~+Q;dRArv4X zF!kH$zg6Uc=v(sMs(1h)6Nw%v@<8;6ydyZ1LCC#C4;6VJdPv@(iti!hMxuL)JP_R@ zZx0S&5HghLM~sGlk18Ja!;6i6lEtHoH~plw6BXdv?88j1isf0r;A2OC51~)m@vB!E zY@jf&ZQDMhusp)8tOVDDBdR6x0$RS}>kyBc76#Nc&oWyRe?Q}pikB3c*;C?#98_^a zm{zVc!)d|t)`5>LL~=(9S|4VYf^1TZuTsK2z8c((i@{AEs(3#OscgY6ISAA*f_{e@ z%?yb5AR)2|h=r4f5;FD|v6PPHxyio7mv;Q-DeSH@X6P@<3%^;Kyh40G8`Pfc3^N2N z7BfFHf_JiIEU^WasEyYf8?Rd`Mx#v-ew`&Z8T`Ms-&adb*aBtT8S+KN7k!pbSl zj>w~kg`2Y|rXS}dWIMvk6P}S1>^BXZ{wHE}3ph3`QIvu0+a)L9@jlC2cTz_1Tj`Ws zs#lxIG{+qOnrAEUWT7P1Y|-Y`y)W7so(L#ReH4ha1N z9VNx&B=McIoHpM6Y4fk5(1#HyQD6F;{9VpjkLWo0warbE+|~;x`N|RU?b3OW7fx5# zhiPtSTZ5J18hitL_!)4_z$ieFz1IJPr->>yiqN&d+Rw6%(kU#>1n8kNRLn)4whH0X z(KO9RlbeP!9n*$m{>O}a+7woFDX0_BzobBDU%^GB%{VFGNQWg-kuCtJA4`+~H-jSP zD<@L((@*<5Yg^qCE3^atc30iNj&@F`s0{Bq(7T7HrfjFpiN&|kRbo{VecSBgj3rI_ zob}xSFSZ{}dxvi?-}g?FFMGSE`=