From 701c799fd0ba776a8a938b6e406a7b5c5cbd05a9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 15:11:31 +0000 Subject: [PATCH] deploy: 7b5d0dc4fe5cdbda0adf3dff5b00cf3b208f8fce --- .babelrc | 3 - .gitattributes | 6 - .gitignore | 9 - .nojekyll | 0 .npmignore | 19 - .travis.yml | 11 - 404.html | 14 + CHANGELOG.md | 396 - CNAME | 1 - LICENSE | 21 - Makefile | 71 - README.md | 148 - app.js | 116 - app.jsx | 96 - assets/css/styles.f8379b30.css | 1 + ...pdown-35e13cbe46c9923327f30a76a90bff3b.png | Bin 0 -> 25427 bytes ...icons-bbde2f99eb8047bea8425ba174798916.svg | 101 + ...pdown-f0d995e751e7656a1b0dbbc1134e49c2.png | Bin 0 -> 27841 bytes assets/js/01a85c17.1d6bda03.js | 1 + assets/js/0e384e19.90cff521.js | 1 + assets/js/14eb3368.df4c4179.js | 1 + assets/js/17896441.6ab4aec7.js | 1 + assets/js/18c41134.fad01f90.js | 1 + assets/js/1df93b7f.f3fce5b2.js | 1 + assets/js/1e4232ab.7d7afb16.js | 1 + assets/js/1f391b9e.7a84b45b.js | 1 + assets/js/30a24c52.c8008b71.js | 1 + assets/js/393be207.5c96412d.js | 1 + assets/js/404.4afbde99.js | 1 + assets/js/4b1723f1.cf30a1c5.js | 1 + assets/js/533a09ca.1ac35a03.js | 1 + assets/js/5c868d36.cb370952.js | 1 + assets/js/5e95c892.c37a1170.js | 1 + assets/js/66406991.a99900f4.js | 1 + assets/js/677.af8b943c.js | 1 + assets/js/6875c492.c45f48fb.js | 1 + assets/js/772.f7afe75c.js | 1 + assets/js/7f5460c2.cfc5aa32.js | 1 + assets/js/814f3328.d472087f.js | 1 + assets/js/822bd8ab.c2feffd2.js | 1 + assets/js/935f2afb.66d34ebd.js | 1 + assets/js/9abc7bc7.bb874be7.js | 1 + assets/js/9e4087bc.563d300f.js | 1 + assets/js/a6aa9e1f.8e1e7c18.js | 1 + assets/js/a7023ddc.e31d725a.js | 1 + assets/js/a7bd4aaa.39e33d3e.js | 1 + assets/js/a94703ab.b207b1ef.js | 1 + assets/js/b2b675dd.87b36ee0.js | 1 + assets/js/b2f554cd.1b46585f.js | 1 + assets/js/c36ecdcb.055c7000.js | 1 + assets/js/c71491fd.b6cfb1ed.js | 1 + assets/js/c844b82d.4ce65e34.js | 1 + assets/js/ccc49370.4cec8659.js | 1 + assets/js/dff1c289.b2dbee2f.js | 1 + assets/js/e44a2883.3d0889b9.js | 1 + assets/js/ea13dd3a.04b745f0.js | 1 + assets/js/ea88f2a1.fda74e0a.js | 1 + assets/js/f196f4a4.1a5f2321.js | 1 + assets/js/f55d3e7a.bbfa9d5d.js | 1 + assets/js/main.ca5d58d1.js | 2 + assets/js/main.ca5d58d1.js.LICENSE.txt | 64 + assets/js/runtime~main.01ab2e07.js | 1 + banner.png | Bin 78083 -> 0 bytes beta.html | 70 - bin/lips.js | 183 - blog/archive/index.html | 14 + blog/atom.xml | 24 + blog/index.html | 14 + blog/rss.xml | 22 + blog/tags/hello/index.html | 14 + blog/tags/index.html | 14 + blog/tags/lips/index.html | 14 + blog/welcome/index.html | 14 + build.js | 19 - dist/lips.js | 5993 -------- dist/lips.min.js | 29 - docs.html | 433 - docs.tmpl | 325 - docs/category/tutorial---basics/index.html | 14 + docs/category/tutorial---extras/index.html | 14 + docs/intro/index.html | 38 + .../congratulations/index.html | 28 + .../create-a-blog-post/index.html | 19 + .../create-a-document/index.html | 30 + docs/tutorial-basics/create-a-page/index.html | 28 + .../deploy-your-site/index.html | 25 + .../markdown-features/index.html | 45 + .../manage-docs-versions/index.html | 36 + .../translate-your-site/index.html | 38 + editor/app.scm | 261 - editor/bundle-a.js | 1 - editor/bundle-b.js | 253 - editor/bundle.js | 241 - editor/index.html | 60 - editor/index.js | 11 - editor/lightning-fs.min.js | 1 - editor/logo.svg | 23 - editor/package-lock.json | 12422 ---------------- editor/package.json | 32 - editor/src/a.js | 14 - editor/src/b.js | 11 - editor/src/main.js | 10 - editor/style.css | 62 - editor/sw.js | 155 - editor/template/app.lips | 4 - editor/template/index.html | 18 - editor/webpack.config.js | 26 - examples/app.lips | 50 - examples/common.css | 49 - examples/defstruct.lips | 122 - examples/helpers.lips | 529 - examples/hyper.html | 19 - examples/index.html | 179 - examples/prism.js | 25 - examples/reader-macros.js | 53 - examples/terminal.js | 179 - favicon.ico | Bin 1150 -> 0 bytes favicon/android-chrome-192x192.png | Bin 2755 -> 0 bytes favicon/android-chrome-512x512.png | Bin 6523 -> 0 bytes favicon/apple-touch-icon.png | Bin 2588 -> 0 bytes favicon/browserconfig.xml | 9 - favicon/favicon-16x16.png | Bin 627 -> 0 bytes favicon/favicon-32x32.png | Bin 854 -> 0 bytes favicon/favicon.ico | Bin 7406 -> 0 bytes favicon/mstile-144x144.png | Bin 2501 -> 0 bytes favicon/mstile-150x150.png | Bin 2676 -> 0 bytes favicon/mstile-310x150.png | Bin 2920 -> 0 bytes favicon/mstile-310x310.png | Bin 5490 -> 0 bytes favicon/mstile-70x70.png | Bin 1810 -> 0 bytes favicon/safari-pinned-tab.svg | 35 - favicon/site.webmanifest | 19 - footer.html | 19 - google145371584257758d.html | 1 - greetings.lips | 4 - head.html | 89 - img/bookmarklet.svg | 15 + img/docusaurus.png | Bin 0 -> 5142 bytes img/favicon.ico | Bin 0 -> 13094 bytes img/icons.svg | 101 + img/lips-social-card.png | Bin 0 -> 88511 bytes img/logo-black.svg | 24 + img/logo-white.svg | 24 + img/undraw_docusaurus_mountain.svg | 171 + img/undraw_docusaurus_react.svg | 170 + img/undraw_docusaurus_tree.svg | 40 + index.html | 491 +- index.tmpl | 200 - jest.config.js | 4 - js/bookmark.js | 9 + js/interpreter.js | 86 + logo.svg | 14 - markdown-page/index.html | 15 + package-lock.json | 10003 ------------- package.json | 216 - purge.html | 25 - reference.html | 165 - reference.tmpl | 57 - rollup.config.js | 39 - screenshot.html | 333 - screenshot.tmpl | 225 - sitemap.xml | 28 +- spec/lips.spec.js | 931 -- src/banner.js | 28 - src/lips.js | 4416 ------ style.css | 129 - templates/Makefile | 68 - templates/README.md | 148 - templates/package.json | 216 - todo.html | 86 - todo.lips | 254 - version | 10 - 171 files changed, 1518 insertions(+), 40827 deletions(-) delete mode 100644 .babelrc delete mode 100644 .gitattributes delete mode 100644 .gitignore create mode 100644 .nojekyll delete mode 100644 .npmignore delete mode 100644 .travis.yml create mode 100644 404.html delete mode 100644 CHANGELOG.md delete mode 100644 CNAME delete mode 100644 LICENSE delete mode 100644 Makefile delete mode 100644 README.md delete mode 100644 app.js delete mode 100644 app.jsx create mode 100644 assets/css/styles.f8379b30.css create mode 100644 assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png create mode 100644 assets/images/icons-bbde2f99eb8047bea8425ba174798916.svg create mode 100644 assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png create mode 100644 assets/js/01a85c17.1d6bda03.js create mode 100644 assets/js/0e384e19.90cff521.js create mode 100644 assets/js/14eb3368.df4c4179.js create mode 100644 assets/js/17896441.6ab4aec7.js create mode 100644 assets/js/18c41134.fad01f90.js create mode 100644 assets/js/1df93b7f.f3fce5b2.js create mode 100644 assets/js/1e4232ab.7d7afb16.js create mode 100644 assets/js/1f391b9e.7a84b45b.js create mode 100644 assets/js/30a24c52.c8008b71.js create mode 100644 assets/js/393be207.5c96412d.js create mode 100644 assets/js/404.4afbde99.js create mode 100644 assets/js/4b1723f1.cf30a1c5.js create mode 100644 assets/js/533a09ca.1ac35a03.js create mode 100644 assets/js/5c868d36.cb370952.js create mode 100644 assets/js/5e95c892.c37a1170.js create mode 100644 assets/js/66406991.a99900f4.js create mode 100644 assets/js/677.af8b943c.js create mode 100644 assets/js/6875c492.c45f48fb.js create mode 100644 assets/js/772.f7afe75c.js create mode 100644 assets/js/7f5460c2.cfc5aa32.js create mode 100644 assets/js/814f3328.d472087f.js create mode 100644 assets/js/822bd8ab.c2feffd2.js create mode 100644 assets/js/935f2afb.66d34ebd.js create mode 100644 assets/js/9abc7bc7.bb874be7.js create mode 100644 assets/js/9e4087bc.563d300f.js create mode 100644 assets/js/a6aa9e1f.8e1e7c18.js create mode 100644 assets/js/a7023ddc.e31d725a.js create mode 100644 assets/js/a7bd4aaa.39e33d3e.js create mode 100644 assets/js/a94703ab.b207b1ef.js create mode 100644 assets/js/b2b675dd.87b36ee0.js create mode 100644 assets/js/b2f554cd.1b46585f.js create mode 100644 assets/js/c36ecdcb.055c7000.js create mode 100644 assets/js/c71491fd.b6cfb1ed.js create mode 100644 assets/js/c844b82d.4ce65e34.js create mode 100644 assets/js/ccc49370.4cec8659.js create mode 100644 assets/js/dff1c289.b2dbee2f.js create mode 100644 assets/js/e44a2883.3d0889b9.js create mode 100644 assets/js/ea13dd3a.04b745f0.js create mode 100644 assets/js/ea88f2a1.fda74e0a.js create mode 100644 assets/js/f196f4a4.1a5f2321.js create mode 100644 assets/js/f55d3e7a.bbfa9d5d.js create mode 100644 assets/js/main.ca5d58d1.js create mode 100644 assets/js/main.ca5d58d1.js.LICENSE.txt create mode 100644 assets/js/runtime~main.01ab2e07.js delete mode 100644 banner.png delete mode 100644 beta.html delete mode 100755 bin/lips.js create mode 100644 blog/archive/index.html create mode 100644 blog/atom.xml create mode 100644 blog/index.html create mode 100644 blog/rss.xml create mode 100644 blog/tags/hello/index.html create mode 100644 blog/tags/index.html create mode 100644 blog/tags/lips/index.html create mode 100644 blog/welcome/index.html delete mode 100755 build.js delete mode 100644 dist/lips.js delete mode 100644 dist/lips.min.js delete mode 100644 docs.html delete mode 100644 docs.tmpl create mode 100644 docs/category/tutorial---basics/index.html create mode 100644 docs/category/tutorial---extras/index.html create mode 100644 docs/intro/index.html create mode 100644 docs/tutorial-basics/congratulations/index.html create mode 100644 docs/tutorial-basics/create-a-blog-post/index.html create mode 100644 docs/tutorial-basics/create-a-document/index.html create mode 100644 docs/tutorial-basics/create-a-page/index.html create mode 100644 docs/tutorial-basics/deploy-your-site/index.html create mode 100644 docs/tutorial-basics/markdown-features/index.html create mode 100644 docs/tutorial-extras/manage-docs-versions/index.html create mode 100644 docs/tutorial-extras/translate-your-site/index.html delete mode 100644 editor/app.scm delete mode 100644 editor/bundle-a.js delete mode 100644 editor/bundle-b.js delete mode 100644 editor/bundle.js delete mode 100644 editor/index.html delete mode 100644 editor/index.js delete mode 100644 editor/lightning-fs.min.js delete mode 100644 editor/logo.svg delete mode 100644 editor/package-lock.json delete mode 100644 editor/package.json delete mode 100644 editor/src/a.js delete mode 100644 editor/src/b.js delete mode 100644 editor/src/main.js delete mode 100644 editor/style.css delete mode 100644 editor/sw.js delete mode 100644 editor/template/app.lips delete mode 100644 editor/template/index.html delete mode 100644 editor/webpack.config.js delete mode 100644 examples/app.lips delete mode 100644 examples/common.css delete mode 100644 examples/defstruct.lips delete mode 100644 examples/helpers.lips delete mode 100644 examples/hyper.html delete mode 100644 examples/index.html delete mode 100644 examples/prism.js delete mode 100644 examples/reader-macros.js delete mode 100644 examples/terminal.js delete mode 100644 favicon.ico delete mode 100644 favicon/android-chrome-192x192.png delete mode 100644 favicon/android-chrome-512x512.png delete mode 100644 favicon/apple-touch-icon.png delete mode 100644 favicon/browserconfig.xml delete mode 100644 favicon/favicon-16x16.png delete mode 100644 favicon/favicon-32x32.png delete mode 100644 favicon/favicon.ico delete mode 100644 favicon/mstile-144x144.png delete mode 100644 favicon/mstile-150x150.png delete mode 100644 favicon/mstile-310x150.png delete mode 100644 favicon/mstile-310x310.png delete mode 100644 favicon/mstile-70x70.png delete mode 100644 favicon/safari-pinned-tab.svg delete mode 100644 favicon/site.webmanifest delete mode 100644 footer.html delete mode 100644 google145371584257758d.html delete mode 100644 greetings.lips delete mode 100644 head.html create mode 100644 img/bookmarklet.svg create mode 100644 img/docusaurus.png create mode 100644 img/favicon.ico create mode 100644 img/icons.svg create mode 100644 img/lips-social-card.png create mode 100644 img/logo-black.svg create mode 100644 img/logo-white.svg create mode 100644 img/undraw_docusaurus_mountain.svg create mode 100644 img/undraw_docusaurus_react.svg create mode 100644 img/undraw_docusaurus_tree.svg delete mode 100644 index.tmpl delete mode 100644 jest.config.js create mode 100644 js/bookmark.js create mode 100644 js/interpreter.js delete mode 100644 logo.svg create mode 100644 markdown-page/index.html delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 purge.html delete mode 100644 reference.html delete mode 100644 reference.tmpl delete mode 100644 rollup.config.js delete mode 100644 screenshot.html delete mode 100644 screenshot.tmpl delete mode 100644 spec/lips.spec.js delete mode 100644 src/banner.js delete mode 100644 src/lips.js delete mode 100644 style.css delete mode 100644 templates/Makefile delete mode 100644 templates/README.md delete mode 100644 templates/package.json delete mode 100644 todo.html delete mode 100644 todo.lips delete mode 100755 version diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 4cecb55b7..000000000 --- a/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [ "@babel/preset-env" ] -} diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 808e4d96d..000000000 --- a/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -* text eol=lf -.* text eol=lf -dist/* binary -*.png binary -editor/bundle*.js binary -package-lock.json binary diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b64984f60..000000000 --- a/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*~ -node_modules -coverage -npm-debug.log -\#* -.\#* -.DEV -.[0-9]* -www diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 3bf1404f0..000000000 --- a/.npmignore +++ /dev/null @@ -1,19 +0,0 @@ -spec -*~ -coverage -Makefile -jest.config.js -version -templates -demo.html -rollup.config.js -www -\#*# -.* -todo.* -favicon.ico -testing.js -testing.lips -trampoline.scm -greetings.lips -src/banner.js diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0fd98f59e..000000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: node_js -node_js: - - "node" -install: - - npm install -script: - - make - - make lint - - make test -after_script: - - make coveralls diff --git a/404.html b/404.html new file mode 100644 index 000000000..5e2f8bc80 --- /dev/null +++ b/404.html @@ -0,0 +1,14 @@ + + + + + +Page Not Found | LIPS Scheme + + + + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 6c85c6e21..000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,396 +0,0 @@ -## 0.20.0 -### Breaking -* replace `print` with `display` (more like scheme) -* replace `lips.Symbol` with `LSymbol` -* replace `delay` with `wait` (to allow using scheme delay/force) -* change `timer` function to just `setTimeout` with expression (old `timer` is now `wait`) -### Features -* improve `-->` macro to handle numbers and strings and symbols (quoted or not) -* new function `quoted-symbol?` -* allow to use else in cond (same as true - similar to scheme) -* new macro: `promise` -* experimental parent.frame (inspired by R) -* add `arguments.callee` to lambdas -### Bug fixes -* fix for-each with function that use this (like print) -* fix pretty print of lisp code -* fix formatting/indent of list of full S-Expressions - -## 0.19.0 -### Features -* add require.resolve function -### Bug fixes -* fix stack trace on Node.js errors -* fix display of functions as values in executable -* require is defined only in Node.js - -## 0.18.2 -### Bug fixes -* bootstrap helpers.lips in executable - -## 0.18.1 -### Bug fixes -* fix auto indent and add version number to executable - -## 0.18.0 -### Features -* add copyright notes to binary and improve the calling it -* allow to call lips from shebang -### Bug fixes -* trim lines in functions doc strings [#23](https://github.com/jcubic/lips/issues/23) - -## 0.17.2 -### Bug fixes -* fix list of false values [#22](https://github.com/jcubic/lips/issues/22) - -## 0.17.1 -### Bug fixes -* fix map last value [#21](https://github.com/jcubic/lips/issues/21) - -## 0.17.0 -### Features -* revert breaking change of read to return Array -* use proper read function in executable REPL - -## 0.16.3 -### Bug fixes -* fix map on empty list -* fix exception when calling error - -## 0.16.2 -### Bug fixes -* unbind functions before setting property with `set-obj!` -* make gensyms names shorter (like in CLISP) -* fix double quasiquote + unquote unquote splice (and other quirks) - -## 0.16.1 -### Bug fixes -* fix setting property Descriptor on functions (to change name for preact components) - -## 0.16.0 -### Features -* `this` inside lambdas that are object created with new (same as in JS) [#19](https://github.com/jcubic/lips/issues/19) -* `string` and `type` return `instance` for objects created by `new` -* `pprint` function [#17](https://github.com/jcubic/lips/issues/17) -### Bug fixes -* fix set-obj! on functions [#18](https://github.com/jcubic/lips/issues/18) -* fix string formatting [#16](https://github.com/jcubic/lips/issues/16) - -## 0.15.4 -### Bug fixes -* fix formatter when there is newline at the newline of the code -* fix duplicated copyright notes and missing Facebook note in output from rollup and babel - -## 0.15.3 -### Bug fixes -* fix regenerator from babel in dist files - -## 0.15.2 -### Bug fixes -* fix `ignore` macro -* fix `load` function in node -* fix `Pair::append` and `append` functions with non pair -* throw exception when more unquote then quasiquotes -* fix double unquote symbol -* throw error when unquote-splice on atom in the middle of the list -* don't create cycles in unquote-splicing -* fix cloning cycles - -## 0.15.1 -### Bug fixes -* fix `load` function outside of Node -* return undefined from `load` function -* fix formatting of lambda expressions -* fix `symbol->string` function when called with gensym symbols -* improve `-->` and `..` macros -* quote `define-macro` arguments so they don't evaluated if inside expression - -## 0.15.0 -### Features -* new macro `..` -* formatter rules for example `cond` macro -* `tree->array` function -* `__code__` inside Macro -* `define-formatter-rule` macro for breaking S-Expressions in Formatter -### Bug fixes -* fix lips.Formatter pattern matching -* better toString and `string` functions (keep class names for internal objects in minified js file) -* fix `__code__` on lambda expressions (that also includes `(define (name . arg)`) -* evaluate of symbols and promises returned from macros - -## 0.14.0 -### Features -* add `unset!`, `add-special!` and `remove-special!` functions -* add `define-symbol-macro` meta macro that create parser macros (parser transformer symbol) -* rewrite `help` as macro so it works with parser macros -* `require` function for Node.js + `load` work in Node using `fs.readFile` -* stack trace in exception in lips binary -* parser accept strings as argument (no need to call tokenizer - but it also accept array of tokens) -* modules mechanism as macros -* pattern matching as macro -* `macro?` function -* `cond` macro -### Bug fixes -* fix white space in docs for macros -* fix two cases in parser: `` `(,(list 1 2)) `` and `` `(+ ,,(list 'foo)) `` [#12](https://github.com/jcubic/lips/issues/12) -* fix quaisquote macro (eval of single unquote in double quasiquote) [#14](https://github.com/jcubic/lips/issues/14) -* add scope to exec in `load` function -* fix formatting of multi line strings -* fix `object?` when called with nil and number -* fix `macroexpand` macro - -## 0.12.0 -### Features -* new macro `begin*` that run their arguments in parallel if they async -* add typecheck to rest of the functions -* new `real?` and `pluck` functions -* stack trace for exceptions -### Bug fixes -* fix `find` and `filter` to check if function from argument return nil -* fix accessing FileReader object (try to copy read only prototype) -* fix parser error when parsing symbol macros [#10](https://github.com/jcubic/lips/issues/10) -* fix undefined values in macro with missing arguments [#11](https://github.com/jcubic/lips/issues/11) -* fix macroexpand [#9](https://github.com/jcubic/lips/issues/9) -* fix line breaking in S-Expression Formatter - -## 0.11.2 -### Breaking -* remove `nop` (you can use `(begin undefined)`) -### Bug fixes -* fix unquote-splicing on nil (e.g. processing of `` `(list ,@nil)``) -* cdr and car should return nil on empty list -* typecheck and process nil in c[ad]+r functions - -## 0.11.1 -### Bug fixes -* fix parsing special forms as literal symbols [#7](https://github.com/jcubic/lips/issues/7) -* fix unquote-splicing of empty list (e.g. processing of `` `(list ,@(list))``) - -## 0.11.0 -### Features -* Add support to list cycles -* new macro `ignore` that will swallow promises -* add `try` macro -* add `current-environment` function -* `eval` LIPS function now accept environment as second argument -* better toString of gensym symbols (it now shows `#gensym_1#` instead of `Symbol(#gensym)` check `macroexpand`) -* macroexpand now produce formatted LIPS code (API exposed in Formatter::break that break LIPS code into lines) -### Bug fixes -* call error in evaluate when promise returned from function is rejected -* fix errors in `map`, `reduce`, `fold` and `for-each` (that use `map`) -* fix exception when call to match fail to match - -## 0.10.4 -### Bug fixes -* fix accessing props on native objects like Object function [#6](https://github.com/jcubic/lips/issues/6) - -## 0.10.3 -### Bug fixes -* fix print that get stdout from global env not from user one + better babel fix added in 0.10.1 - -## 0.10.2 -### Bug fixes -* fix version number in source code - -## 0.10.1 -### Bug fixes -* fix for babel when using for-each (weakBind was not working because babel was using `apply(void 0, ...`) -* add missing `error` function used in example macros - -## 0.10.0 -### Breaking -* change order of `split`, `replace`, `match`, `search` and `instanceof` so you can use them with `curry` -* `append` and `append!` no require list or nil second argument -* apply is no longer Macro it's now a function (so it can be used in curry) -### Features -* change `append!` from macro to function (it will work with any value as fist list argument not only with names -* `help` function and help system inside functions. First expression after function arguments is docs. -* add `pipe`, `compose`, `fold` and `some` functions -* new function `unbind` to help write function that work with functions as objects (LIPS wrap them) -* add alias for `.` as `get` so you can pass it to curry, with `.` LIPS will try to create pair -* lambda function introspection -* hyperapp example -* better loading of code -* make `map`, `filter`, `find`, `for-each` and `reduce` sync when possible -* basic type checking -* documented `unquote-splicing` and `unquote` functions that throw error when used outside of `quasiquote` -* allow to extend the parser (kind of reader macros) -### Bug fixes -* fix `if` it should not return false if false value is undefined -* fix even and odd functions with BigInt -* fix curry -* fix when inside quasiquote there is empty list -* make `load` use `lips.exec`, so it execute code sequentially -* fix `append` -* fix `timer` to use with expression -* fix macros without arguments -* fix calling `setTimeout` [#5](https://github.com/jcubic/lips/issues/5) - -## 0.9.0 -### Breaking -* `for-each` and `map` works as in Scheme spec (use multiple arguments and don't use index) -### Features -* better binary (options -f -c + read stdin + REPL + indent + catch exception) -* indent API function -* allow to use dots and variable names -* `.` function now work with multiple arguments and gets nested object value -* add `undefined` to default Environment so you can use it in Lips code -* add function `nop` -* tokenizer with meta data now include newlines and comments (nothing is removed) -### Bug fixes -* fix offset in tokenizer -* fix assign variables from variables (e.g. function or variable aliases) -* fix return value of Math operation that should return float [#1](https://github.com/jcubic/lips/issues/1) -* fix tokenizer meta data with strings outside of S-Expressions or in lonely lines -* fix print of lips Symbols (update string function) -* fix missing recursive calls to unquote in quasiquote macro -* fix major issues with quasiquote that make macros don't work quite right -* fix parser when using multiple specials (unquote, quote etc.) in a row -* fix scope when evaluating macros -* fix async issues with list values inside let, lambda and begin macros -* don't evaluate next expressions in `and` and `or` macros - -## 0.8.1 -### Bug fixes -* use exception.code for code that triggered exception - -## 0.8.0 -### Features -* new nth and reverse functions -* new type checking functions null? regex? pair? string? number? symbol? array? object? boolean? -* add lips source code that throwed exception in JavaScript error message -### Bug fixes -* fix lambda with rest parameter -### Breaking -* `if` now check if argument is boolean - -## 0.7.1 -### Bug fixes -* fix curry function - -## 0.7.0 -### Features -* `(let iter` macro that's transformation of `(let* ((iter (lambda () ...` -* expandable `(let iter` and `(define (foo)` by macroexpand -### Bug fixes -* fix macroexpand evaluation of code -* use nil in cons when cdr is empty list - -## 0.6.1 -### Bug fixes -* fix reduce infinite loop -* fix invoking lambdas in dynamic scope -* fix print of Array with multi line strings and BigInts - -## 0.6.0 -### Breaking -* change api for evaluate to have object `{env, dynamic_scope, error}` -* rename set to set!, set-cdr to set-cdr! and set-car to set-car! -* rename defmacro to define-macro like in scheme -* change order of arguments in env.inherit -### Features -* add bit operation functions -* add float, round and ceil functions -* add env variable to lips namespace which is alias to global_environment -* add find and for-each higher order functions -* add length function -* add new function which create instance of objects -* allow to set value using set! and dot expression that is used to get the value -* better invalid mime on script tag detection -* use ES6 symbols as names for lips symbols in gensym function -### Bug fixes -* show error when invoking trampoline in dynamic scope -* fix eq? and >= functions -* fix set! (change existing reference or create new if not existing in scope chain) -* fix return value of if macro -* fix defmacro -* fix parsing expressions that have multiple special characters in a row -* handle float calculations -* throw exception when try to execute native non function value -* fix resolving Promises when evaluating code -* don't allow regex that start with space (so it work when you have two divisions in one S-Expression) -* fix parsing float numbers that start with dot -* prevent evaluation of quoted expressions in macros -* fix macro sharing body between invocations -* fix read function -* fix parsing boolean values -* fix map, reduce and filter to handle async functions -* fix access variables that have value of undefined - -## 0.5.4 -### Bug fixes -* use src file for node and dist build file for unpkg - -## 0.5.3 -### Bug fixes -* fix version number in exported field - -## 0.5.2 -### Bug fixes -* use dist/lips.min.js as main for unpkg -* npm housekeeping - -## 0.5.1 -### Bug fixes -* fix lambda with symbol as parameters -* fix for TCO factorial using Y combinator & trampoline - -## 0.5.0 -### Breaking -* exec now return promise with array of results -* all numbers are wrapped with LNumber -### Features -* add support for new u and s regex flags -* optional dynamic scope -* add `not`, `abs`, `sqrt` and `**` functions -* wrap numbers in LNumber that use BigInt or bn.js if possible -### Bug fixes -* fix lambda with no parameters -* fix define with Promise like `(define x (let ...` -* fix - with single argument - -## 0.4.1-2 -### Bug fixes -* fix for Node - -## 0.4.0 -### Features -* lambda with reset parameter (like in scheme) -* new functions: 1+, 1-, curry and range -* execute LIPS code from script tag with text-x/lips type attribute -* add string functions: join, split, replace, match, search -* new second parameter to `tokenize` that make it return array of extra objects `{token, col, line, offset}` -* Pair.flatten and lips function flatten -### Bug fixes -* fix (reduce + list) -* fix handling of empty list -* make let* handle promises -* fix evaluate of macro that return a Promise -* fix evaluating code with promises - -## 0.3.0 -### Features -* exec api method -### Bug fixes -* fix processing of multiple backquote and unquote - -## 0.2.1/0.2.2 -* fix build system - -## 0.2.0 -### Features -* Add reduce and set functions -* add while, ++ and -- macros -* ignore comments everything after ; but not inside strings and regexes -* gensym and load functions -* better string function -* Pair methods for working with ALists + Pair::reduce -* throw exception on car/cdr with non list -### Bug fixes -* fix parsing empty strings -* fix various errors catch by lint -* fix parsing ALists with list as keys and values -* fix parsing quasiquote that evaluate to single pair out if unquote - -## 0.1.0 -* Initial version diff --git a/CNAME b/CNAME deleted file mode 100644 index f6305af31..000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -lips.js.org diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 6df5b2397..000000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018-2019 Jakub T. Jankiewicz - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Makefile b/Makefile deleted file mode 100644 index 694635fd2..000000000 --- a/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -.PHONY: publish test coveralls lint - -VERSION=0.20.0 -BRANCH=`git branch | grep '^*' | sed 's/* //'` -DATE=`date -uR` -SPEC_CHECKSUM=`md5sum spec/lips.spec.js | cut -d' ' -f 1` -COMMIT=`git rev-parse HEAD` -URL=`git config --get remote.origin.url` - -GIT=git -CD=cd -SED=sed -CP=cp -RM=rm -TEST=test -CAT=cat -NPM=npm -ESLINT=./node_modules/.bin/eslint -COVERALLS=./node_modules/.bin/coveralls -JEST=./node_modules/.bin/jest -UGLIFY=./node_modules/.bin/uglifyjs -ROLLUP=./node_modules/.bin/rollup - - -ALL: app.js Makefile .$(VERSION) dist/lips.js dist/lips.min.js README.md package.json - -app.js: app.jsx - npx babel app.jsx --presets=@babel/preset-env,@babel/preset-react > app.js - -dist/lips.js: src/lips.js .$(VERSION) rollup.config.js - $(ROLLUP) -c - $(SED) -i '/^\s*\/\*\*/,/^\s*\*\//d' dist/lips.js - $(CAT) src/banner.js dist/lips.js > dist/tmp.js - $(CP) dist/tmp.js dist/lips.js - $(RM) dist/tmp.js - $(GIT) branch | grep '* devel' > /dev/null && $(SED) -i -e "s/{{VER}}/DEV/g" -e "s/{{DATE}}/$(DATE)/g" \ - dist/lips.js || $(SED) -i -e "s/{{VER}}/$(VERSION)/g" -e "s/{{DATE}}/$(DATE)/g" \ - dist/lips.js - -dist/lips.min.js: dist/lips.js .$(VERSION) - $(UGLIFY) -o dist/lips.min.js --comments --mangle -- dist/lips.js - -Makefile: templates/Makefile - $(SED) -e "s/{{VER""SION}}/"$(VERSION)"/" templates/Makefile > Makefile - -package.json: templates/package.json .$(VERSION) - $(SED) -e "s/{{VER}}/"$(VERSION)"/" templates/package.json > package.json || true - -README.md: templates/README.md .$(VERSION) - $(GIT) branch | grep '* devel' > /dev/null && $(SED) -e "s/{{VER}}/DEV/g" -e \ - "s/{{BRANCH}}/$(BRANCH)/g" -e "s/{{CHECKSUM}}/$(SPEC_CHECKSUM)/g" \ - -e "s/{{COMMIT}}/$(COMMIT)/g" < templates/README.md > README.md || \ - $(SED) -e "s/{{VER}}/$(VERSION)/g" -e "s/{{BRANCH}}/$(BRANCH)/g" -e \ - "s/{{CHECKSUM}}/$(SPEC_CHECKSUM)/g" -e "s/{{COMMIT}}/$(COMMIT)/g" < templates/README.md > README.md - -.$(VERSION): Makefile - touch .$(VERSION) - -publish: - $(GIT) clone $(URL) --depth 1 npm - $(CD) npm && $(NPM) publish --access=public - $(RM) -rf npm - -test: dist/lips.js - $(JEST) - -coveralls: - $(CAT) ./coverage/lcov.info | $(COVERALLS) - -lint: - $(ESLINT) src/lips.js spec/lips.spec.js diff --git a/README.md b/README.md deleted file mode 100644 index e3893e401..000000000 --- a/README.md +++ /dev/null @@ -1,148 +0,0 @@ -## LIPS is Pretty Simple - -[![npm](https://img.shields.io/badge/npm-0.20.0-blue.svg)](https://www.npmjs.com/package/@jcubic/lips) -[![travis](https://travis-ci.org/jcubic/lips.svg?branch=master&7f5cc20e408bd06d7e2d99833e32fd0248802875)](https://travis-ci.org/jcubic/lips) -[![Coverage Status](https://coveralls.io/repos/github/jcubic/lips/badge.svg?branch=master&52aba06ba0a695568564177bab7ef6e8)](https://coveralls.io/github/jcubic/lips?branch=master) - - -LIPS is very simple Lisp, similar to Scheme written in JavaScript. - -[Demo](https://jcubic.github.io/lips/#demo) - -## Key features - -* Full lisp macros, backquote and macroexpand, -* Functions in lips are normal JavaScript functions, -* You can invoke native JavaScript functions and methods from Lips, -* Promises are treated as values they resolve to (so async code look like sync - like auto `async/await`), -* Library agnostic - you can use it with any library, -* Easy extension using JavaScript using Macros or functions, -* RegExp-es are first class objects, -* BigInt support, if your browser don't support them, you will need to use [bn.js](https://github.com/indutny/bn.js/), -* Almost everything is first class object including macros and functions, -* Functions code introspection/manipulation at runtime give more power to the programmer, -* Optional dynamic scope. - -## Installation - -use npm - -``` -npm install @jcubic/lips -``` - -then include the file in script tag, You can grab the version from unpkg.com - -``` -https://unpkg.com/@jcubic/lips -``` - -or from rawgit - -``` -https://cdn.rawgit.com/jcubic/lips/devel/dist/lips.min.js -``` - -## Usage - - -Simplest way is to include the lips code in script tag: - -```html - -``` - -or use `src` attribute: - -```html - -``` - -Running programmatically: - -```javascript -var {exec} = require('@jcubic/lips'); // node -// or -var {exec} = lips; // browser - -exec(string).then(function(results) { - results.forEach(function(result) { - console.log(result.toString()); - }); -}); -``` - -More documentation in [Getting Started Guide](https://github.com/jcubic/lips/wiki/Getting-Started) and -in [docs page](https://jcubic.github.io/lips/docs.html). - -## Standalone executable - -if you install lips globally with: - -``` -npm install -g @jcubic/lips -``` - -you can run interpreter from terminal: - -``` -$ lips -LIPS Interpreter (Simple Scheme like Lisp) -Copyright (c) 2018-2019 Jakub T. Jankiewicz - -lips> (define (square x) -... (* x x)) -lips> (square 10) -100 -lips> -``` - -One feature of LIPS REPL is that it auto indent the lines when you press enter and didn't finish the code. - -You can also run code as string with: - -``` -lips -c '(let ((what "World")) (display (concat "Hello " what)))' -``` - -and you can run a file using: - -``` -cat > foo.lips < foo.lips < if just example of using cat to create multiline file from bash, you should use proper editor for -> writing files. - -## License - -Released under [MIT](http://opensource.org/licenses/MIT) license - -Copyright (c) 2018-2019 [Jakub T. Jankiewicz](https://jcubic.pl/jakub-jankiewicz) diff --git a/app.js b/app.js deleted file mode 100644 index c5fc1df20..000000000 --- a/app.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } -var _React = React, - useRef = _React.useRef, - useState = _React.useState, - useEffect = _React.useEffect, - useMemo = _React.useMemo; -var fuse_options = { - includeScore: true, - threshold: 0.1, - ignoreLocation: true, - keys: ['doc', { - name: 'name', - weight: 2 - }] -}; -var App = function App() { - var _useState = useState(''), - _useState2 = _slicedToArray(_useState, 2), - term = _useState2[0], - setTerm = _useState2[1]; - var _useState3 = useState({ - data: [], - index: null - }), - _useState4 = _slicedToArray(_useState3, 2), - docs = _useState4[0], - setDocs = _useState4[1]; - var default_list = useMemo(function () { - return docs.data.map(function (item) { - return { - item: item - }; - }); - }, [docs]); - var length = useMemo(function () { - var lengths = docs.data.map(function (_ref) { - var doc = _ref.doc; - var lenghts = doc.split('\n').map(function (line) { - return line.length; - }); - return Math.max.apply(Math, _toConsumableArray(lenghts)); - }); - return Math.max.apply(Math, _toConsumableArray(lengths)); - }, [docs]); - useEffect(function () { - var data = get_docs_strings(); - data.sort(function (a, b) { - return a.name.localeCompare(b.name); - }); - var index = Fuse.createIndex(fuse_options.keys, data); - setDocs({ - data: data, - index: index - }); - }, []); - function handleChange(event) { - setTerm(event.target.value); - } - var fuse = new Fuse(docs.data, fuse_options, docs.index); - var result = term.trim() ? fuse.search(term) : default_list; - return /*#__PURE__*/React.createElement("div", { - id: "search", - style: { - '--length': length - } - }, /*#__PURE__*/React.createElement("div", { - className: "input" - }, /*#__PURE__*/React.createElement("label", { - htmlFor: "term" - }, "Search"), /*#__PURE__*/React.createElement("input", { - id: "term", - onChange: handleChange, - value: term - })), /*#__PURE__*/React.createElement("ul", null, result.map(function (_ref2) { - var item = _ref2.item; - return /*#__PURE__*/React.createElement("li", { - key: item.name - }, /*#__PURE__*/React.createElement("h2", null, item.name), /*#__PURE__*/React.createElement("pre", null, item.doc)); - }))); -}; -var root = ReactDOM.createRoot(document.getElementById('root')); -root.render( /*#__PURE__*/React.createElement(App, null)); -function skip_internal(_ref3) { - var _ref4 = _slicedToArray(_ref3, 1), - name = _ref4[0]; - return name.match(/^%/) === null; -} -function map_docs(pairs) { - return pairs.filter(skip_internal).map(function (_ref5) { - var _ref6 = _slicedToArray(_ref5, 2), - name = _ref6[0], - fn = _ref6[1]; - return { - name: name, - doc: fn === null || fn === void 0 ? void 0 : fn.__doc__ - }; - }).filter(function (object) { - return object.doc; - }); -} -function get_docs_strings() { - var env = lips.env.__parent__.__env__; - return map_docs(Object.entries(env)); -} - diff --git a/app.jsx b/app.jsx deleted file mode 100644 index 2b3e0308d..000000000 --- a/app.jsx +++ /dev/null @@ -1,96 +0,0 @@ -const { useRef, useState, useEffect, useMemo } = React; - -const fuse_options = { - includeScore: true, - threshold: 0.1, - ignoreLocation: true, - keys: [ - 'doc', - { - name: 'name', - weight: 2 - } - ] -}; - -const App = () => { - const [term, setTerm] = useState(''); - const [docs, setDocs] = useState({data: [], index: null}); - - const default_list = useMemo(() => { - return docs.data.map(item => ({item})); - }, [docs]); - - const length = useMemo(() => { - const lengths = docs.data.map(({doc}) => { - const lenghts = doc.split('\n').map(line => line.length); - return Math.max(...lenghts); - }); - return Math.max(...lengths); - - }, [docs]); - - useEffect(() => { - const data = get_docs_strings(); - data.sort((a, b) => a.name.localeCompare(b.name)); - const index = Fuse.createIndex(fuse_options.keys, data) - setDocs({ - data, - index - }); - }, []); - - function handleChange(event) { - setTerm(event.target.value); - } - - const fuse = new Fuse(docs.data, fuse_options, docs.index); - - const result = term.trim() ? fuse.search(term) : default_list; - - return ( - - ); -} - - -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); - - -function skip_internal([name]) { - return name.match(/^%/) === null; -} - -function map_docs(pairs) { - return pairs.filter(skip_internal).map(([name, fn]) => { - return { - name, - doc: fn?.__doc__ - }; - }).filter(object => object.doc); -} -function get_docs_strings() { - const env = lips.env.__parent__.__env__; - return map_docs(Object.entries(env)); -} \ No newline at end of file diff --git a/assets/css/styles.f8379b30.css b/assets/css/styles.f8379b30.css new file mode 100644 index 000000000..dad193649 --- /dev/null +++ b/assets/css/styles.f8379b30.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.description{box-sizing:border-box}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.examples ul,.intro .actions,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.sidebar_re4s,.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_f1Hy{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.examples .list>li.active,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_pO2u,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.examples .list>li,.exit-full-screen,.full-screen li .full-screen,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.details_lb9f>summary,.dropdownNavbarItemMobile_S0Fm,.examples .pagination li:active,.run{cursor:pointer}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Bca1:not(:has(>*)){display:none}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.description,.run{font-size:20px;color:#fff}.intro .terminal{--background:#14232d;--color:#fff;height:calc(var(--size,1)*14*14px + 20px)}.example{--background:#0000;background:#eee;border-radius:5px;width:60%}.actions-wrapper,.examples,.intro{position:relative}.full-screen .intro{position:static}.intro .actions-wrapper,.intro .examples,.intro .terminal{margin:0 auto;max-width:1000px;width:100%}.full-screen .intro .actions-wrapper{max-width:none;position:absolute;right:0;top:0}.intro .actions{maring:0;display:flex;padding:0;position:absolute;right:0;top:0;z-index:100}.intro .actions li.icon{cursor:pointer;height:52px;margin:10px;overflow:hidden;width:52px}.intro .actions a{display:block;text-indent:-99999px}.intro .actions>li.full-screen{height:52px;margin:10px;position:relative;width:52px}.intro .actions>li.full-screen li{margin:0;position:absolute;right:0;top:0}.intro .actions .icon,.top-bar .icons a{background-image:url(/assets/images/icons-bbde2f99eb8047bea8425ba174798916.svg)}.full-screen .exit-full-screen{background-position:-64px 0;display:block}.intro .actions li .full-screen{background-position:-116px 0}.intro .actions>li.zoom-in{background-position:-168px 0}.intro .actions>li.zoom-out{background-position:-220px 0}.examples .list{padding-top:30px}.list li{display:flex;padding:20px}.example pre{--color:#000;color:var(--color)}.example pre .token{background:#0000}.description{padding:0 20px;width:40%}.examples,.pagination,.terminal{text-align:left}.examples,.run{background:#4d4d4d}.run{border:none;border-radius:3px;display:block;left:60%;margin-left:-10px;padding:5px 10px;position:absolute;top:60px;transform:translate(-100%);transition:transform .1s linear}.run:active{transform:translate(-100%,1px)}.examples ul{margin:0;padding:0}.examples .pagination{display:flex;left:20px;position:absolute;top:10px}.examples .pagination li{border-radius:3px;height:26px;text-align:center;width:26px}.examples .pagination li+li{margin-left:10px}.examples .pagination a{border-radius:5px;box-sizing:border-box;display:block;height:100%;padding:1px 2px 2px;transition:.1s linear}.examples .pagination a,.examples .pagination a:visited{background:#1d6aa1;color:#fff;text-decoration:none}.examples .pagination li.active a{background:#fff;color:#1d6aa1;font-weight:700}.bookmarkSVG_kroK{height:200px;width:200px}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{align-items:center;display:flex;justify-content:center}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_bqdL{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_j9I6{justify-content:center}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.sidebar_re4s,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_f1Hy{font-size:2rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png b/assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png new file mode 100644 index 0000000000000000000000000000000000000000..97e4164618b5f8beda34cfa699720aba0ad2e342 GIT binary patch literal 25427 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 literal 0 HcmV?d00001 diff --git a/assets/images/icons-bbde2f99eb8047bea8425ba174798916.svg b/assets/images/icons-bbde2f99eb8047bea8425ba174798916.svg new file mode 100644 index 000000000..71897b423 --- /dev/null +++ b/assets/images/icons-bbde2f99eb8047bea8425ba174798916.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png b/assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png new file mode 100644 index 0000000000000000000000000000000000000000..e257edc1f932985396bf59584c7ccfaddf955779 GIT binary patch literal 27841 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 JrC|B>e*nH7H{}2T literal 0 HcmV?d00001 diff --git a/assets/js/01a85c17.1d6bda03.js b/assets/js/01a85c17.1d6bda03.js new file mode 100644 index 000000000..d2fe6bd5e --- /dev/null +++ b/assets/js/01a85c17.1d6bda03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[13],{1460:(e,s,t)=>{t.d(s,{Z:()=>v});var a=t(7294),i=t(512),r=t(6040),l=t(7524),n=t(3692),c=t(5999),o=t(6550),m=t(8596);function d(e){const{pathname:s}=(0,o.TH)();return(0,a.useMemo)((()=>e.filter((e=>function(e,s){return!(e.unlisted&&!(0,m.Mg)(e.permalink,s))}(e,s)))),[e,s])}const u={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var g=t(5893);function h(e){let{sidebar:s}=e;const t=d(s.items);return(0,g.jsx)("aside",{className:"col col--3",children:(0,g.jsxs)("nav",{className:(0,i.Z)(u.sidebar,"thin-scrollbar"),"aria-label":(0,c.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,g.jsx)("div",{className:(0,i.Z)(u.sidebarItemTitle,"margin-bottom--md"),children:s.title}),(0,g.jsx)("ul",{className:(0,i.Z)(u.sidebarItemList,"clean-list"),children:t.map((e=>(0,g.jsx)("li",{className:u.sidebarItem,children:(0,g.jsx)(n.Z,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var b=t(3102);function p(e){let{sidebar:s}=e;const t=d(s.items);return(0,g.jsx)("ul",{className:"menu__list",children:t.map((e=>(0,g.jsx)("li",{className:"menu__list-item",children:(0,g.jsx)(n.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,g.jsx)(b.Zo,{component:p,props:e})}function x(e){let{sidebar:s}=e;const t=(0,l.i)();return s?.items.length?"mobile"===t?(0,g.jsx)(j,{sidebar:s}):(0,g.jsx)(h,{sidebar:s}):null}function v(e){const{sidebar:s,toc:t,children:a,...l}=e,n=s&&s.items.length>0;return(0,g.jsx)(r.Z,{...l,children:(0,g.jsx)("div",{className:"container margin-vert--lg",children:(0,g.jsxs)("div",{className:"row",children:[(0,g.jsx)(x,{sidebar:s}),(0,g.jsx)("main",{className:(0,i.Z)("col",{"col--7":n,"col--9 col--offset-1":!n}),itemScope:!0,itemType:"https://schema.org/Blog",children:a}),t&&(0,g.jsx)("div",{className:"col col--2",children:t})]})})})}},1223:(e,s,t)=>{t.r(s),t.d(s,{default:()=>p});t(7294);var a=t(512),i=t(5999);const r=()=>(0,i.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var l=t(1944),n=t(5281),c=t(1460),o=t(3008),m=t(2503);const d={tag:"tag_Nnez"};var u=t(5893);function g(e){let{letterEntry:s}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.Z,{as:"h2",id:s.letter,children:s.letter}),(0,u.jsx)("ul",{className:"padding--none",children:s.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(o.Z,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:s}=e;const t=function(e){const s={};return Object.values(e).forEach((e=>{const t=function(e){return e[0].toUpperCase()}(e.label);s[t]??=[],s[t].push(e)})),Object.entries(s).sort(((e,s)=>{let[t]=e,[a]=s;return t.localeCompare(a)})).map((e=>{let[s,t]=e;return{letter:s,tags:t.sort(((e,s)=>e.label.localeCompare(s.label)))}}))}(s);return(0,u.jsx)("section",{className:"margin-vert--lg",children:t.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var b=t(197);function p(e){let{tags:s,sidebar:t}=e;const i=r();return(0,u.jsxs)(l.FG,{className:(0,a.Z)(n.k.wrapper.blogPages,n.k.page.blogTagsListPage),children:[(0,u.jsx)(l.d,{title:i}),(0,u.jsx)(b.Z,{tag:"blog_tags_list"}),(0,u.jsxs)(c.Z,{sidebar:t,children:[(0,u.jsx)(m.Z,{as:"h1",children:i}),(0,u.jsx)(h,{tags:s})]})]})}},3008:(e,s,t)=>{t.d(s,{Z:()=>n});t(7294);var a=t(512),i=t(3692);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=t(5893);function n(e){let{permalink:s,label:t,count:n}=e;return(0,l.jsxs)(i.Z,{href:s,className:(0,a.Z)(r.tag,n?r.tagWithCount:r.tagRegular),children:[t,n&&(0,l.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.90cff521.js b/assets/js/0e384e19.90cff521.js new file mode 100644 index 000000000..cac086014 --- /dev/null +++ b/assets/js/0e384e19.90cff521.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[671],{7876:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=n(5893),r=n(1151);const o={sidebar_position:1},i="Tutorial Intro",a={id:"intro",title:"Tutorial Intro",description:"Let's discover Docusaurus in less than 5 minutes.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Tutorial - Basics",permalink:"/docs/category/tutorial---basics"}},l={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Generate a new site",id:"generate-a-new-site",level:2},{value:"Start your site",id:"start-your-site",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"tutorial-intro",children:"Tutorial Intro"}),"\n",(0,s.jsxs)(t.p,{children:["Let's discover ",(0,s.jsx)(t.strong,{children:"Docusaurus in less than 5 minutes"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,s.jsxs)(t.p,{children:["Get started by ",(0,s.jsx)(t.strong,{children:"creating a new site"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Or ",(0,s.jsx)(t.strong,{children:"try Docusaurus immediately"})," with ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://docusaurus.new",children:"docusaurus.new"})}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://nodejs.org/en/download/",children:"Node.js"})," version 18.0 or above:","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"When installing Node.js, you are recommended to check all checkboxes related to dependencies."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"generate-a-new-site",children:"Generate a new site"}),"\n",(0,s.jsxs)(t.p,{children:["Generate a new Docusaurus site using the ",(0,s.jsx)(t.strong,{children:"classic template"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"The classic template will automatically be added to your project after you run the command:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm init docusaurus@latest my-website classic\n"})}),"\n",(0,s.jsx)(t.p,{children:"You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor."}),"\n",(0,s.jsx)(t.p,{children:"The command also installs all necessary dependencies you need to run Docusaurus."}),"\n",(0,s.jsx)(t.h2,{id:"start-your-site",children:"Start your site"}),"\n",(0,s.jsx)(t.p,{children:"Run the development server:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"cd my-website\nnpm run start\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"cd"})," command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there."]}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"npm run start"})," command builds your website locally and serves it through a development server, ready for you to view at ",(0,s.jsx)(t.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Open ",(0,s.jsx)(t.code,{children:"docs/intro.md"})," (this page) and edit some lines: the site ",(0,s.jsx)(t.strong,{children:"reloads automatically"})," and displays your changes."]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var s=n(7294);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14eb3368.df4c4179.js b/assets/js/14eb3368.df4c4179.js new file mode 100644 index 000000000..3d0bf41ee --- /dev/null +++ b/assets/js/14eb3368.df4c4179.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[817],{1310:(e,s,t)=>{t.d(s,{Z:()=>p});t(7294);var n=t(512),i=t(5281),a=t(2802),r=t(8596),c=t(3692),l=t(5999),o=t(4996),d=t(5893);function m(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const u={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function h(){const e=(0,o.Z)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(c.Z,{"aria-label":(0,l.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(m,{className:u.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function x(e){let{children:s,href:t,isLast:n}=e;const i="breadcrumbs__link";return n?(0,d.jsx)("span",{className:i,itemProp:"name",children:s}):t?(0,d.jsx)(c.Z,{className:i,href:t,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:s})}):(0,d.jsx)("span",{className:i,children:s})}function v(e){let{children:s,active:t,index:i,addMicrodata:a}=e;return(0,d.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,n.Z)("breadcrumbs__item",{"breadcrumbs__item--active":t}),children:[s,(0,d.jsx)("meta",{itemProp:"position",content:String(i+1)})]})}function p(){const e=(0,a.s1)(),s=(0,r.Ns)();return e?(0,d.jsx)("nav",{className:(0,n.Z)(i.k.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,l.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[s&&(0,d.jsx)(h,{}),e.map(((s,t)=>{const n=t===e.length-1,i="category"===s.type&&s.linkUnlisted?void 0:s.href;return(0,d.jsx)(v,{active:n,index:t,addMicrodata:!!i,children:(0,d.jsx)(x,{href:i,isLast:n,children:s.label})},t)}))]})}):null}},4228:(e,s,t)=>{t.r(s),t.d(s,{default:()=>I});t(7294);var n=t(1944),i=t(2802),a=t(4996),r=t(512),c=t(3692),l=t(3919),o=t(5999),d=t(2503);const m={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};var u=t(5893);function h(e){let{href:s,children:t}=e;return(0,u.jsx)(c.Z,{href:s,className:(0,r.Z)("card padding--lg",m.cardContainer),children:t})}function b(e){let{href:s,icon:t,title:n,description:i}=e;return(0,u.jsxs)(h,{href:s,children:[(0,u.jsxs)(d.Z,{as:"h2",className:(0,r.Z)("text--truncate",m.cardTitle),title:n,children:[t," ",n]}),i&&(0,u.jsx)("p",{className:(0,r.Z)("text--truncate",m.cardDescription),title:i,children:i})]})}function x(e){let{item:s}=e;const t=(0,i.LM)(s);return t?(0,u.jsx)(b,{href:t,icon:"\ud83d\uddc3\ufe0f",title:s.label,description:s.description??(0,o.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:s.items.length})}):null}function v(e){let{item:s}=e;const t=(0,l.Z)(s.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",n=(0,i.xz)(s.docId??void 0);return(0,u.jsx)(b,{href:s.href,icon:t,title:s.label,description:s.description??n?.description})}function p(e){let{item:s}=e;switch(s.type){case"link":return(0,u.jsx)(v,{item:s});case"category":return(0,u.jsx)(x,{item:s});default:throw new Error(`unknown item type ${JSON.stringify(s)}`)}}function g(e){let{className:s}=e;const t=(0,i.jA)();return(0,u.jsx)(j,{items:t.items,className:s})}function j(e){const{items:s,className:t}=e;if(!s)return(0,u.jsx)(g,{...e});const n=(0,i.MN)(s);return(0,u.jsx)("section",{className:(0,r.Z)("row",t),children:n.map(((e,s)=>(0,u.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,u.jsx)(p,{item:e})},s)))})}var f=t(49),N=t(3120),Z=t(4364),_=t(1310);const L={generatedIndexPage:"generatedIndexPage_vN6x",list:"list_eTzJ",title:"title_kItE"};function k(e){let{categoryGeneratedIndex:s}=e;return(0,u.jsx)(n.d,{title:s.title,description:s.description,keywords:s.keywords,image:(0,a.Z)(s.image)})}function T(e){let{categoryGeneratedIndex:s}=e;const t=(0,i.jA)();return(0,u.jsxs)("div",{className:L.generatedIndexPage,children:[(0,u.jsx)(N.Z,{}),(0,u.jsx)(_.Z,{}),(0,u.jsx)(Z.Z,{}),(0,u.jsxs)("header",{children:[(0,u.jsx)(d.Z,{as:"h1",className:L.title,children:s.title}),s.description&&(0,u.jsx)("p",{children:s.description})]}),(0,u.jsx)("article",{className:"margin-top--lg",children:(0,u.jsx)(j,{items:t.items,className:L.list})}),(0,u.jsx)("footer",{className:"margin-top--lg",children:(0,u.jsx)(f.Z,{previous:s.navigation.previous,next:s.navigation.next})})]})}function I(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(k,{...e}),(0,u.jsx)(T,{...e})]})}},49:(e,s,t)=>{t.d(s,{Z:()=>r});t(7294);var n=t(5999),i=t(2244),a=t(5893);function r(e){const{previous:s,next:t}=e;return(0,a.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,n.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[s&&(0,a.jsx)(i.Z,{...s,subLabel:(0,a.jsx)(n.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),t&&(0,a.jsx)(i.Z,{...t,subLabel:(0,a.jsx)(n.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4364:(e,s,t)=>{t.d(s,{Z:()=>l});t(7294);var n=t(512),i=t(5999),a=t(5281),r=t(4477),c=t(5893);function l(e){let{className:s}=e;const t=(0,r.E)();return t.badge?(0,c.jsx)("span",{className:(0,n.Z)(s,a.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,c.jsx)(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:t.label},children:"Version: {versionLabel}"})}):null}},3120:(e,s,t)=>{t.d(s,{Z:()=>v});t(7294);var n=t(512),i=t(2263),a=t(3692),r=t(5999),c=t(143),l=t(5281),o=t(373),d=t(4477),m=t(5893);const u={unreleased:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:s,versionLabel:(0,m.jsx)("b",{children:t.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:s,versionLabel:(0,m.jsx)("b",{children:t.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const s=u[e.versionMetadata.banner];return(0,m.jsx)(s,{...e})}function b(e){let{versionLabel:s,to:t,onClick:n}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:s,latestVersionLink:(0,m.jsx)("b",{children:(0,m.jsx)(a.Z,{to:t,onClick:n,children:(0,m.jsx)(r.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:s,versionMetadata:t}=e;const{siteConfig:{title:a}}=(0,i.Z)(),{pluginId:r}=(0,c.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,o.J)(r),{latestDocSuggestion:u,latestVersionSuggestion:x}=(0,c.Jo)(r),v=u??(p=x).docs.find((e=>e.id===p.mainDocId));var p;return(0,m.jsxs)("div",{className:(0,n.Z)(s,l.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,m.jsx)("div",{children:(0,m.jsx)(h,{siteTitle:a,versionMetadata:t})}),(0,m.jsx)("div",{className:"margin-top--md",children:(0,m.jsx)(b,{versionLabel:x.label,to:v.path,onClick:()=>d(x.name)})})]})}function v(e){let{className:s}=e;const t=(0,d.E)();return t.banner?(0,m.jsx)(x,{className:s,versionMetadata:t}):null}},2244:(e,s,t)=>{t.d(s,{Z:()=>r});t(7294);var n=t(512),i=t(3692),a=t(5893);function r(e){const{permalink:s,title:t,subLabel:r,isNext:c}=e;return(0,a.jsxs)(i.Z,{className:(0,n.Z)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:s,children:[r&&(0,a.jsx)("div",{className:"pagination-nav__sublabel",children:r}),(0,a.jsx)("div",{className:"pagination-nav__label",children:t})]})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.6ab4aec7.js b/assets/js/17896441.6ab4aec7.js new file mode 100644 index 000000000..0c62535af --- /dev/null +++ b/assets/js/17896441.6ab4aec7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[918],{1310:(e,t,n)=>{n.d(t,{Z:()=>b});n(7294);var s=n(512),a=n(5281),i=n(2802),l=n(8596),o=n(3692),r=n(5999),c=n(4996),d=n(5893);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function h(){const e=(0,c.Z)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(o.Z,{"aria-label":(0,r.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const v={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function x(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(o.Z,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function p(e){let{children:t,active:n,index:a,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function b(){const e=(0,i.s1)(),t=(0,l.Ns)();return e?(0,d.jsx)("nav",{className:(0,s.Z)(a.k.docs.docBreadcrumbs,v.breadcrumbsContainer),"aria-label":(0,r.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(p,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(x,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},5154:(e,t,n)=>{n.r(t),n.d(t,{default:()=>q});var s=n(7294),a=n(1944),i=n(902),l=n(5893);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(512),m=n(7524),h=n(49);function v(){const{metadata:e}=c();return(0,l.jsx)(h.Z,{previous:e.previous,next:e.next})}var x=n(3120),p=n(4364),b=n(5281),g=n(5999);function f(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,l.jsx)(g.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function j(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(g.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function L(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,l.jsxs)("span",{className:b.k.common.lastUpdated,children:[(0,l.jsx)(g.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,l.jsx)(f,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,l.jsx)(j,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var N=n(4881),Z=n(1526);const C={lastUpdated:"lastUpdated_vwxv"};function _(e){return(0,l.jsx)("div",{className:(0,u.Z)(b.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(Z.Z,{...e})})})}function k(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,l.jsxs)("div",{className:(0,u.Z)(b.k.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(N.Z,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.Z)("col",C.lastUpdated),children:(n||s)&&(0,l.jsx)(L,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function T(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:i}=e,o=i.length>0,r=!!(t||n||a);return o||r?(0,l.jsxs)("footer",{className:(0,u.Z)(b.k.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,l.jsx)(_,{tags:i}),r&&(0,l.jsx)(k,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var U=n(6043),H=n(3743);const w={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function y(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",w.tocCollapsibleButton,!t&&w.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(g.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const A={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function M(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,U.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.Z)(A.tocCollapsible,!i&&A.tocCollapsibleExpanded,n),children:[(0,l.jsx)(y,{collapsed:i,onClick:o}),(0,l.jsx)(U.z,{lazy:!0,className:A.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(H.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const E={tocMobile:"tocMobile_ITEo"};function I(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(M,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(b.k.docs.docTocMobile,E.tocMobile)})}var B=n(9407);function O(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(B.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:b.k.docs.docTocDesktop})}var S=n(2503),V=n(1404);function P(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.Z)(b.k.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(S.Z,{as:"h1",children:n})}),(0,l.jsx)(V.Z,{children:t})]})}var R=n(1310),D=n(2212);const F={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function z(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(I,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(O,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&F.docItemCol),children:[s&&(0,l.jsx)(D.Z,{}),(0,l.jsx)(x.Z,{}),(0,l.jsxs)("div",{className:F.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(R.Z,{}),(0,l.jsx)(p.Z,{}),n.mobile,(0,l.jsx)(P,{children:t}),(0,l.jsx)(T,{})]}),(0,l.jsx)(v,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function q(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.FG,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(z,{children:(0,l.jsx)(n,{})})]})})}},49:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var s=n(5999),a=n(2244),i=n(5893);function l(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(a.Z,{...t,subLabel:(0,i.jsx)(s.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(a.Z,{...n,subLabel:(0,i.jsx)(s.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4364:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var s=n(512),a=n(5999),i=n(5281),l=n(4477),o=n(5893);function r(e){let{className:t}=e;const n=(0,l.E)();return n.badge?(0,o.jsx)("span",{className:(0,s.Z)(t,i.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(a.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},3120:(e,t,n)=>{n.d(t,{Z:()=>p});n(7294);var s=n(512),a=n(2263),i=n(3692),l=n(5999),o=n(143),r=n(5281),c=n(373),d=n(4477),u=n(5893);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(l.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(l.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function v(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(l.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.Z,{to:n,onClick:s,children:(0,u.jsx)(l.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,a.Z)(),{pluginId:l}=(0,o.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,c.J)(l),{latestDocSuggestion:m,latestVersionSuggestion:x}=(0,o.Jo)(l),p=m??(b=x).docs.find((e=>e.id===b.mainDocId));var b;return(0,u.jsxs)("div",{className:(0,s.Z)(t,r.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(v,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:t}=e;const n=(0,d.E)();return n.banner?(0,u.jsx)(x,{className:t,versionMetadata:n}):null}},4881:(e,t,n)=>{n.d(t,{Z:()=>d});n(7294);var s=n(5999),a=n(5281),i=n(3692),l=n(512);const o={iconEdit:"iconEdit_Z9Sw"};var r=n(5893);function c(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,l.Z)(o.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(i.Z,{to:t,className:a.k.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(s.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},2244:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var s=n(512),a=n(3692),i=n(5893);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},9407:(e,t,n)=>{n.d(t,{Z:()=>c});n(7294);var s=n(512),a=n(3743);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=n(5893);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.Z)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.Z,{...n,linkClassName:o,linkActiveClassName:r})})}},3743:(e,t,n)=>{n.d(t,{Z:()=>x});var s=n(7294),a=n(6668);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(3692),m=n(5893);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const v=s.memo(h);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const x=(0,a.L)(),p=c??x.tableOfContents.minHeadingLevel,b=u??x.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:p,maxHeadingLevel:b}}),[o,r,p,b])),(0,m.jsx)(v,{toc:g,className:n,linkClassName:o,...h})}},3008:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var s=n(512),a=n(3692);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=n(5893);function o(e){let{permalink:t,label:n,count:o}=e;return(0,l.jsxs)(a.Z,{href:t,className:(0,s.Z)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},1526:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var s=n(512),a=n(5999),i=n(3008);const l={tags:"tags_jXut",tag:"tag_QGVx"};var o=n(5893);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.Z)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,o.jsx)("li",{className:l.tag,children:(0,o.jsx)(i.Z,{label:t,permalink:n})},n)}))})]})}},2212:(e,t,n)=>{n.d(t,{Z:()=>h});n(7294);var s=n(512),a=n(5999),i=n(5742),l=n(5893);function o(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(5281),u=n(9047);function m(e){let{className:t}=e;return(0,l.jsx)(u.Z,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.Z)(t,d.k.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/18c41134.fad01f90.js b/assets/js/18c41134.fad01f90.js new file mode 100644 index 000000000..2e7860955 --- /dev/null +++ b/assets/js/18c41134.fad01f90.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[859],{7008:(e,n,s)=>{s.r(n),s.d(n,{Highlight:()=>d,assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>l});var r=s(5893),a=s(1151);const t={sidebar_position:4},o="Markdown Features",i={id:"tutorial-basics/markdown-features",title:"Markdown Features",description:"Docusaurus supports Markdown and a few additional features.",source:"@site/docs/tutorial-basics/markdown-features.mdx",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/markdown-features",permalink:"/docs/tutorial-basics/markdown-features",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/markdown-features.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Create a Blog Post",permalink:"/docs/tutorial-basics/create-a-blog-post"},next:{title:"Deploy your site",permalink:"/docs/tutorial-basics/deploy-your-site"}},c={},l=[{value:"Front Matter",id:"front-matter",level:2},{value:"Links",id:"links",level:2},{value:"Images",id:"images",level:2},{value:"Code Blocks",id:"code-blocks",level:2},{value:"Admonitions",id:"admonitions",level:2},{value:"MDX and React Components",id:"mdx-and-react-components",level:2}],d=({children:e,color:n})=>{const s={span:"span",...(0,a.a)()};return(0,r.jsx)(s.span,{style:{backgroundColor:n,borderRadius:"20px",color:"#fff",padding:"10px",cursor:"pointer"},onClick:()=>{alert(`You clicked the color ${n} with label ${e}`)},children:e})};function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"markdown-features",children:"Markdown Features"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus supports ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"https://daringfireball.net/projects/markdown/syntax",children:"Markdown"})})," and a few ",(0,r.jsx)(n.strong,{children:"additional features"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"front-matter",children:"Front Matter"}),"\n",(0,r.jsxs)(n.p,{children:["Markdown documents have metadata at the top called ",(0,r.jsx)(n.a,{href:"https://jekyllrb.com/docs/front-matter/",children:"Front Matter"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:'title="my-doc.md"',children:"// highlight-start\n---\nid: my-doc-id\ntitle: My document title\ndescription: My document description\nslug: /my-custom-url\n---\n// highlight-end\n\n## Markdown heading\n\nMarkdown text with [links](./hello.md)\n"})}),"\n",(0,r.jsx)(n.h2,{id:"links",children:"Links"}),"\n",(0,r.jsx)(n.p,{children:"Regular Markdown links are supported, using url paths or relative file paths."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"Let's see how to [Create a page](/create-a-page).\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"Let's see how to [Create a page](./create-a-page.md).\n"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Result:"})," Let's see how to ",(0,r.jsx)(n.a,{href:"/docs/tutorial-basics/create-a-page",children:"Create a page"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"images",children:"Images"}),"\n",(0,r.jsx)(n.p,{children:"Regular Markdown images are supported."}),"\n",(0,r.jsxs)(n.p,{children:["You can use absolute paths to reference images in the static directory (",(0,r.jsx)(n.code,{children:"static/img/docusaurus.png"}),"):"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"![Docusaurus logo](/img/docusaurus.png)\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Docusaurus logo",src:s(8291).Z+"",width:"200",height:"200"})}),"\n",(0,r.jsx)(n.p,{children:"You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"![Docusaurus logo](./img/docusaurus.png)\n"})}),"\n",(0,r.jsx)(n.h2,{id:"code-blocks",children:"Code Blocks"}),"\n",(0,r.jsx)(n.p,{children:"Markdown code blocks are supported with Syntax highlighting."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:'```jsx title="src/components/HelloDocusaurus.js"\nfunction HelloDocusaurus() {\n return

Hello, Docusaurus!

;\n}\n```\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="src/components/HelloDocusaurus.js"',children:"function HelloDocusaurus() {\n return

Hello, Docusaurus!

;\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"admonitions",children:"Admonitions"}),"\n",(0,r.jsx)(n.p,{children:"Docusaurus has a special syntax to create admonitions and callouts:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:":::tip[My tip]\n\nUse this awesome feature option\n\n:::\n\n:::danger[Take care]\n\nThis action is dangerous\n\n:::\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"My tip",type:"tip",children:(0,r.jsx)(n.p,{children:"Use this awesome feature option"})}),"\n",(0,r.jsx)(n.admonition,{title:"Take care",type:"danger",children:(0,r.jsx)(n.p,{children:"This action is dangerous"})}),"\n",(0,r.jsx)(n.h2,{id:"mdx-and-react-components",children:"MDX and React Components"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://mdxjs.com/",children:"MDX"})," can make your documentation more ",(0,r.jsx)(n.strong,{children:"interactive"})," and allows using any ",(0,r.jsx)(n.strong,{children:"React components inside Markdown"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"export const Highlight = ({children, color}) => (\n {\n alert(`You clicked the color ${color} with label ${children}`)\n }}>\n {children}\n \n);\n\nThis is Docusaurus green !\n\nThis is Facebook blue !\n"})}),"\n","\n",(0,r.jsxs)(n.p,{children:["This is ",(0,r.jsx)(d,{color:"#25c2a0",children:"Docusaurus green"})," !"]}),"\n",(0,r.jsxs)(n.p,{children:["This is ",(0,r.jsx)(d,{color:"#1877F2",children:"Facebook blue"})," !"]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},8291:(e,n,s)=>{s.d(n,{Z:()=>r});const r="data:image/png;base64,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"},1151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>o});var r=s(7294);const a={},t=r.createContext(a);function o(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.f3fce5b2.js b/assets/js/1df93b7f.f3fce5b2.js new file mode 100644 index 000000000..be84dd46a --- /dev/null +++ b/assets/js/1df93b7f.f3fce5b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[237],{9846:(e,n,t)=>{t.d(n,{Z:()=>i});var s=t(7294);function r(){return r=Object.assign?Object.assign.bind():function(e){for(var n=1;n{let{title:n,titleId:t,...i}=e;return s.createElement("svg",r({width:800,height:800,viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":t},i),n?s.createElement("title",{id:t},n):null,s.createElement("path",{d:"m128.81 49.28 27.407 228.157.06.563v216.906l19.94-39.28 20.468 38.155V296.814L168.563 57.5l-39.75-8.22Z",style:{fill:"#ad0000",fillOpacity:1}}),s.createElement("g",{style:{fill:"teal",stroke:"none",strokeWidth:6.4,strokeDasharray:"none"}},s.createElement("path",{d:"M215.374 313.938v31.813l27.564 10.53c-7.04-20.847-16.565-33.66-27.438-42.25-.04-.03-.084-.06-.125-.092z",style:{fill:"teal",stroke:"none",strokeWidth:6.4,strokeDasharray:"none"}}),s.createElement("path",{d:"M473.094 74.406v226.75l-216.938 79.69-40.78-14.97v38.28c23.21 8.03 58.078 6.813 86.25-2.53v-17.563l184.03-67.625 6.125-2.25V74.407h-18.686zM20.5 74.376v239.813l6.125 2.25 110.97 40.78v-19.906l-98.407-36.156V74.376ZM189.28 73.53l25.593 217.782a88.58 88.58 0 0 1 12.188 8.063c6.452 5.097 12.412 11.36 17.75 18.97V109.5c-15.496-17.475-34.402-28.327-55.532-35.97Z",style:{fill:"teal",stroke:"none",strokeWidth:6.4,strokeDasharray:"none"}}),s.createElement("path",{d:"M454.719 43.03c-65.178 17.392-138.354.102-191.22 70.814v208.812c19.795-29.15 45.443-40.866 70.72-46.53 33.914-7.603 66.18-7.163 91.5-27.626l11.75 14.53c-31.256 25.263-68.25 24.386-99.158 31.314-29.295 6.566-53.978 17.63-72.25 63.187l188.657-71.967V43.03ZM57.594 43v242.563l80 30.53V292c-22.504-3.217-45.065-8.633-62.53-26.844l13.5-12.937c12.15 12.667 29.032 17.263 48.28 20.374L110.656 55.03C93.3 51.725 75.492 48.1 57.594 43Z",style:{fill:"teal",stroke:"none",strokeWidth:6.4,strokeDasharray:"none"}})))}},6295:(e,n,t)=>{t.r(n),t.d(n,{default:()=>j});var s=t(512),r=t(7294),i=t(2263),a=t(6040),o=t(5742),l=t(5893);const c=[{description:"Mixing Scheme and JavaScript",code:';; &() is object literal used with quasiquote\n(let ((object `&(:name "LIPS Scheme"\n :version ,lips.version)))\n ;; you can access JavaScript properties\n ;; with dot notation\n (print (string-append object.name\n " "\n object.version))\n ;; you can mix scheme and JavaScript\n (ignore (setTimeout (lambda ()\n (alert (JSON.stringify object)))\n 1000)))'},{description:"Filter function accept, regex or function. Curry is higher order function that create new function with defaults. Pluck return a function that extract fields from an object.",code:'(print (filter number? \'(foo 10 bar 20 baz 30)))\n;; ==> (10 20 30)\n(print (filter #/foo|bar/ \'(foo bar baz quux)))\n;; ==> (foo bar)\n(define foo_or_bar (curry filter #/foo|bar/))\n(print (foo_or_bar \'(foo bar baz)))\n;; ==> (foo bar)\n\n;; &() is object literal used with quasiquote\n(define (make-person first last)\n `&(:fist ,first :last ,last))\n\n(define beatles (map make-person\n \'("John" "Paul" "Ringo" "George")\n \'("Lennon" "McCartney"\n "Starr" "Harrison")))\n;; pluck will extract properties from objects\n(write (map (pluck "fist") beatles))\n(newline)\n;; ==> ("John" "Paul" "Ringo" "George")'},{description:"Automagic async/await like resolving of promises and explicit promise quotation.",code:';; JavaScript regular expression literal\n(define re #/

([^>]+)<\\/h1>/)\n;; --\x3e is a macro that allow chaining\n;; of JavaScript methods calls\n;; no need to use Promises becasue of automagic\n;; promise resolving\n(let ((msg (--\x3e (fetch "https://scheme.org.pl")\n (text)\n (match re)\n 1)))\n (print msg))\n\n;; explicit promise handling with quotation\n(let ((promise (--\x3e \'>(fetch "https://scheme.org.pl")\n (then (lambda (res)\n (res.text)))\n (then (lambda (x)\n (. (x.match re) 1))))))\n (print (await promise)))'},{description:"Hygienic syntax-rules macro and few examples of Numeric Tower.",code:';; show hygienic macro prints expression\n;; and the result value\n(define-syntax show\n (syntax-rules ()\n [(_ expr ...)\n (begin\n (begin\n (write \'expr)\n (display " = ")\n (write expr)\n (newline))\n ...)]))\n\n;; few example of Numeric Tower\n(show (/ 1 2)\n (expt 1/4 1/2)\n (expt 10+10i 1/2)\n (log 2+1/2i)\n (acos -1)\n (+ 1/2 1/4)\n (* 3/4 1/10))'},{description:"Syntax extensions and custom repr allow to create new homoiconic data types.",code:';; Create new class using define-class macro\n(define-class Person Object\n (constructor (lambda (self name)\n (set! self.name name))))\n\n;; add syntax extension\n(set-special! "P:" \'make-person lips.specials.SPLICE)\n\n;; add class representation\n(set-repr! Person\n (lambda (x q)\n (string-append "P:(" (repr x.name q) ")")))\n\n;; function that create new object\n;; for the syntax extension\n(define (make-person name)\n (new Person name))\n\n;; we can use new syntax\n(print P:("jon"))\n;; ==> P:("jon")\n(print (. P:("jon") \'name))\n;; ==> "jon"'},{description:"Interaction with JavaScript DOM and jQuery Terminal (REPL).",code:';; this will query the DOM and ivoke click method\n(let ((selector "button[class*=\\"ColorModeToggle\\"]"))\n (--\x3e (document.querySelector selector)\n (click)))\n\n;; accessing jQuery Terminal, ignore works like begin\n;; but the return value is ignored so the terminal\n;; is not paused when it find a Promise from\n;; Terminal typing animation\n(ignore\n (term.css "--background" "#2E2E2E")\n (term.echo "This is LIPS Scheme" &(:typing #t)))'},{description:"Fibonacci Closure with swap! lisp style macro.",code:";; macro that swap first two variables\n;; with the last two expressions\n(define-macro (swap! a b x y)\n (let ((g_b (gensym)))\n `(let ((,g_b ,y))\n (set! ,a ,b)\n (set! ,b ,g_b))))\n\n;; example taken from Go website\n;; fib creates a function\n;; that return fibonacci numbers\n(define (fib)\n (let ((a 0) (b 1))\n (lambda ()\n (swap! a b b (+ a b))\n a)))\n\n(let ((f (fib)))\n (list (f) (f) (f) (f) (f)))"},{description:"Scheme hygienic macro that creates an assoc list, with macroexpand.",code:';; recursive hygienic syntax-rules macro\n(define-syntax alist\n (syntax-rules ()\n ((_) ())\n ((_ x y z ...)\n (cons (cons x y) (alist z ...)))))\n\n(print (alist "foo" 10 "bar" 20 "baz" 30))\n;; ==> ((foo . 10) (bar . 20) (baz . 30))\n(macroexpand (alist "foo" 10 "bar" 20))\n;; ==> (#:cons (#:cons "foo" 10)\n;; (#:cons (#:cons "bar" 20)\n;; ()))'},{description:"Built in SRFI-139 syntax-parameterize allows creating anamorphic hygienic macros.",code:";; define new syntax parameter\n(define-syntax-parameter it\n (syntax-rules ()\n ((_ . _)\n (syntax-error \"abort used outside of a loop\"))))\n\n;; syntax-rules macro aif adds (it) parameter\n;; to access tested value.\n(define-syntax aif\n (syntax-rules ()\n ((_ cond rest ...)\n (let ((test cond))\n (syntax-parameterize\n ((it (syntax-rules ()\n ((_) test))))\n (if test\n rest ...))))))\n\n;; no need to use assoc two times\n;; or using a variable to hold the value\n(let ((alist '((a . 10) (b . 20))))\n (aif (assoc 'a alist)\n (print (cdr (it)))))"},{description:"JavaScript generators (objects that implement iterator protocol)",code:';; JavaScript generator create using JS eval\n(define gen (self.eval "\n (async function* gen(time, ...args) {\n function delay(time) {\n return new Promise((resolve) => {\n setTimeout(resolve, time);\n });\n }\n for (let x of args) {\n await delay(time);\n yield x;\n }\n })"))\n\n;; iteration over iterator/generator\n(do-iterator\n (i (apply gen 100 (range 10)))\n ()\n (print i))\n(print (iterator->array (gen 100 1 2 3 4 5)))\n;; strings and lists are JavaScript iterators\n(write (iterator->array "hello"))\n(newline)\n(print (iterator->array \'(1 2 3 4)))'},{description:"Y Combinator and inline factorial function.",code:'(define Y\n (lambda (h)\n ((lambda (x) (x x))\n (lambda (g)\n (h (lambda args (apply (g g) args)))))))\n\n((Y (lambda (f)\n (lambda (n)\n (cond ((< n 0)\n (throw (new Error "Invalid factorial")))\n ((zero? n) 1)\n (else (* n (f (- n 1))))))))\n 10)\n;; ==> 3628800'}];function d(e){(0,r.useEffect)((()=>{!function n(){if(e.length){(function(e){return new Promise(((n,t)=>{const s=document.createElement("script");s.onload=n,s.onerror=t,s.src=e,document.head.appendChild(s)}))})(e.shift()).then(n)}}()}),[])}function m(){return d(["https://code.jquery.com/jquery-3.4.1.min.js","https://cdn.jsdelivr.net/combine/npm/jquery.terminal/js/jquery.terminal.min.js,npm/js-polyfills/keyboard.js,npm/prismjs/prism.js,npm/jquery.terminal/js/prism.js,npm/prismjs/components/prism-scheme.min.js","https://cdn.jsdelivr.net/npm/@jcubic/lips@beta/lib/js/terminal.js","https://cdn.jsdelivr.net/npm/@jcubic/lips@beta/lib/js/prism.js","/js/interpreter.js"]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(o.Z,{children:[(0,l.jsx)("link",{href:"https://cdn.jsdelivr.net/combine/npm/jquery.terminal/css/jquery.terminal.min.css,npm/prismjs/themes/prism-coy.css,npm/terminal-prism/css/prism-coy.css",rel:"stylesheet"}),(0,l.jsx)("link",{href:"https://cdn.jsdelivr.net/gh/jcubic/lips@devel/lib/css/terminal.css",rel:"stylesheet"}),(0,l.jsx)("link",{href:"https://cdn.jsdelivr.net/gh/richleland/pygments-css/monokai.css",rel:"stylesheet"}),(0,l.jsx)("script",{src:"http://localhost/~kuba/jcubic/scheme/lips/dist/lips.js",bootstrap:"http://localhost/~kuba/jcubic/scheme/lips/dist/std.scm"})]}),(0,l.jsxs)("div",{className:"intro",children:[(0,l.jsx)("div",{className:"actions-wrapper",children:(0,l.jsxs)("ul",{className:"actions cloak",children:[(0,l.jsx)("li",{className:"zoom-in icon",children:(0,l.jsx)("a",{href:"#",children:"Zoom In"})}),(0,l.jsx)("li",{className:"zoom-out icon",children:(0,l.jsx)("a",{href:"#",children:"Zoom Out"})}),(0,l.jsx)("li",{className:"full-screen",children:(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"full-screen icon",children:(0,l.jsx)("a",{href:"#",children:"Full Screen"})}),(0,l.jsx)("li",{className:"exit-full-screen icon",children:(0,l.jsx)("a",{href:"#",children:"Exit Full Screen"})})]})})]})}),(0,l.jsx)("div",{className:"term"}),(0,l.jsxs)("div",{className:"examples",children:[(0,l.jsx)("button",{className:"run",children:"run"}),(0,l.jsx)("ul",{className:"list",children:c.map(((e,n)=>(0,l.jsxs)("li",{className:0===n?"active":void 0,children:[(0,l.jsx)("div",{className:"example",children:(0,l.jsx)("pre",{children:e.code})}),(0,l.jsx)("div",{className:"description",children:e.description})]},n)))}),(0,l.jsx)("ul",{className:"pagination",children:c.map(((e,n)=>(0,l.jsx)("li",{className:0===n?"active":void 0,children:(0,l.jsx)("a",{href:"#",children:n+1})},n)))})]})]})]})}var p=t(2503);const h={bookmarkSVG:"bookmarkSVG_kroK"},u=t(9846).Z;function f(){return(0,l.jsx)("section",{id:"bookmarklet",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(u,{className:h.bookmarkSVG,role:"img"}),(0,l.jsx)(p.Z,{as:"h3",children:"Bookmarklet"}),(0,l.jsx)(o.Z,{children:(0,l.jsx)("script",{src:"/js/bookmark.js"})}),(0,l.jsxs)("p",{children:["When you're learning Scheme language, you can run the REPL directly on any page that have Scheme tutorial you're learning from. It even work with PDF files and new empty tab (at least in Chrome). Drag this link ",(0,l.jsx)("a",{id:"bookmark_link",children:"LIPS REPL"})," to your bookmarks. When you click on the bookmark it will run the interpreter. You can also just click the link."]})," ",(0,l.jsx)("p",{children:"The bookmark can also be used to add REPL to your LIPS Web application."})," ",(0,l.jsxs)("p",{children:["It may also not work no sites that are protected with"," ",(0,l.jsx)("a",{href:"https://en.wikipedia.org/wiki/Content_Security_Policy",children:"Content Security Policy"})]})]})})}const x={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};function b(){const{siteConfig:e}=(0,i.Z)(),n=(0,r.useRef)();return(0,r.useEffect)((()=>{!function e(){window.lips?n.current.innerText=window.lips.version:setTimeout(e,100)}()}),[]),(0,l.jsx)("header",{className:(0,s.Z)("hero hero--primary",x.heroBanner),children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsxs)(p.Z,{as:"h1",className:"hero__title",children:[e.title," v.",(0,l.jsx)("span",{ref:n})]}),(0,l.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,l.jsx)(m,{})]})})}function j(){const{siteConfig:e}=(0,i.Z)();return(0,l.jsxs)(a.Z,{title:e.title,description:e.tagline,children:[(0,l.jsx)(b,{}),(0,l.jsx)("main",{children:(0,l.jsx)(f,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/1e4232ab.7d7afb16.js b/assets/js/1e4232ab.7d7afb16.js new file mode 100644 index 000000000..9b6b4764e --- /dev/null +++ b/assets/js/1e4232ab.7d7afb16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[818],{1194:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=s(5893),r=s(1151);const o={sidebar_position:2},a="Create a Document",i={id:"tutorial-basics/create-a-document",title:"Create a Document",description:"Documents are groups of pages connected through:",source:"@site/docs/tutorial-basics/create-a-document.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/create-a-document",permalink:"/docs/tutorial-basics/create-a-document",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-document.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Create a Page",permalink:"/docs/tutorial-basics/create-a-page"},next:{title:"Create a Blog Post",permalink:"/docs/tutorial-basics/create-a-blog-post"}},c={},l=[{value:"Create your first Doc",id:"create-your-first-doc",level:2},{value:"Configure the Sidebar",id:"configure-the-sidebar",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"create-a-document",children:"Create a Document"}),"\n",(0,n.jsxs)(t.p,{children:["Documents are ",(0,n.jsx)(t.strong,{children:"groups of pages"})," connected through:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["a ",(0,n.jsx)(t.strong,{children:"sidebar"})]}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.strong,{children:"previous/next navigation"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.strong,{children:"versioning"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"create-your-first-doc",children:"Create your first Doc"}),"\n",(0,n.jsxs)(t.p,{children:["Create a Markdown file at ",(0,n.jsx)(t.code,{children:"docs/hello.md"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md"',children:"# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,n.jsxs)(t.p,{children:["A new document is now available at ",(0,n.jsx)(t.a,{href:"http://localhost:3000/docs/hello",children:"http://localhost:3000/docs/hello"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"configure-the-sidebar",children:"Configure the Sidebar"}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus automatically ",(0,n.jsx)(t.strong,{children:"creates a sidebar"})," from the ",(0,n.jsx)(t.code,{children:"docs"})," folder."]}),"\n",(0,n.jsx)(t.p,{children:"Add metadata to customize the sidebar label and position:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md" {1-4}',children:"---\nsidebar_label: 'Hi!'\nsidebar_position: 3\n---\n\n# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,n.jsxs)(t.p,{children:["It is also possible to create your sidebar explicitly in ",(0,n.jsx)(t.code,{children:"sidebars.js"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorialSidebar: [\n 'intro',\n // highlight-next-line\n 'hello',\n {\n type: 'category',\n label: 'Tutorial',\n items: ['tutorial-basics/create-a-document'],\n },\n ],\n};\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(7294);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f391b9e.7a84b45b.js b/assets/js/1f391b9e.7a84b45b.js new file mode 100644 index 000000000..81b3ccd14 --- /dev/null +++ b/assets/js/1f391b9e.7a84b45b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[85],{4247:(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});t(7294);var i=t(512),a=t(1944),s=t(5281),l=t(6040),r=t(1404),c=t(9407),o=t(2212);const d={mdxPageWrapper:"mdxPageWrapper_j9I6"};var m=t(5893);function u(e){const{content:n}=e,{metadata:{title:t,description:u,frontMatter:f,unlisted:v},assets:h}=n,{keywords:g,wrapperClassName:x,hide_table_of_contents:p}=f,L=h.image??f.image;return(0,m.jsx)(a.FG,{className:(0,i.Z)(x??s.k.wrapper.mdxPages,s.k.page.mdxPage),children:(0,m.jsxs)(l.Z,{children:[(0,m.jsx)(a.d,{title:t,description:u,keywords:g,image:L}),(0,m.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,m.jsxs)("div",{className:(0,i.Z)("row",d.mdxPageWrapper),children:[(0,m.jsxs)("div",{className:(0,i.Z)("col",!p&&"col--8"),children:[v&&(0,m.jsx)(o.Z,{}),(0,m.jsx)("article",{children:(0,m.jsx)(r.Z,{children:(0,m.jsx)(n,{})})})]}),!p&&n.toc.length>0&&(0,m.jsx)("div",{className:"col col--2",children:(0,m.jsx)(c.Z,{toc:n.toc,minHeadingLevel:f.toc_min_heading_level,maxHeadingLevel:f.toc_max_heading_level})})]})})]})})}},9407:(e,n,t)=>{t.d(n,{Z:()=>o});t(7294);var i=t(512),a=t(3743);const s={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=t(5893);const r="table-of-contents__link toc-highlight",c="table-of-contents__link--active";function o(e){let{className:n,...t}=e;return(0,l.jsx)("div",{className:(0,i.Z)(s.tableOfContents,"thin-scrollbar",n),children:(0,l.jsx)(a.Z,{...t,linkClassName:r,linkActiveClassName:c})})}},3743:(e,n,t)=>{t.d(n,{Z:()=>h});var i=t(7294),a=t(6668);function s(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const i=t.slice(2,e.level);e.parentIndex=Math.max(...i),t[e.level]=n}));const i=[];return n.forEach((e=>{const{parentIndex:t,...a}=e;t>=0?n[t].children.push(a):i.push(a)})),i}function l(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return n.flatMap((e=>{const n=l({toc:e.children,minHeadingLevel:t,maxHeadingLevel:i});return function(e){return e.level>=t&&e.level<=i}(e)?[{...e,children:n}]:n}))}function r(e){const n=e.getBoundingClientRect();return n.top===n.bottom?r(e.parentNode):n}function c(e,n){let{anchorTopOffset:t}=n;const i=e.find((e=>r(e).top>=t));if(i){return function(e){return e.top>0&&e.bottom{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,i.useRef)(void 0),t=o();(0,i.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:i,linkActiveClassName:a,minHeadingLevel:s,maxHeadingLevel:l}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),r=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const i=[];for(let a=n;a<=t;a+=1)i.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:s,maxHeadingLevel:l}),o=c(r,{anchorTopOffset:t.current}),d=e.find((e=>o&&o.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(a),e.classList.add(a),n.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,t])}var m=t(3692),u=t(5893);function f(e){let{toc:n,className:t,linkClassName:i,isChild:a}=e;return n.length?(0,u.jsx)("ul",{className:a?void 0:t,children:n.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.Z,{to:`#${e.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(f,{isChild:!0,toc:e.children,className:t,linkClassName:i})]},e.id)))}):null}const v=i.memo(f);function h(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:o,maxHeadingLevel:m,...f}=e;const h=(0,a.L)(),g=o??h.tableOfContents.minHeadingLevel,x=m??h.tableOfContents.maxHeadingLevel,p=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return(0,i.useMemo)((()=>l({toc:s(n),minHeadingLevel:t,maxHeadingLevel:a})),[n,t,a])}({toc:n,minHeadingLevel:g,maxHeadingLevel:x});return d((0,i.useMemo)((()=>{if(r&&c)return{linkClassName:r,linkActiveClassName:c,minHeadingLevel:g,maxHeadingLevel:x}}),[r,c,g,x])),(0,u.jsx)(v,{toc:p,className:t,linkClassName:r,...f})}},2212:(e,n,t)=>{t.d(n,{Z:()=>f});t(7294);var i=t(512),a=t(5999),s=t(5742),l=t(5893);function r(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function c(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,l.jsx)(s.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(5281),m=t(9047);function u(e){let{className:n}=e;return(0,l.jsx)(m.Z,{type:"caution",title:(0,l.jsx)(r,{}),className:(0,i.Z)(n,d.k.common.unlistedBanner),children:(0,l.jsx)(c,{})})}function f(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o,{}),(0,l.jsx)(u,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/30a24c52.c8008b71.js b/assets/js/30a24c52.c8008b71.js new file mode 100644 index 000000000..b049cd044 --- /dev/null +++ b/assets/js/30a24c52.c8008b71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[453],{8605:e=>{e.exports=JSON.parse('{"label":"hello","permalink":"/blog/tags/hello","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/393be207.5c96412d.js b/assets/js/393be207.5c96412d.js new file mode 100644 index 000000000..8bd8bb02c --- /dev/null +++ b/assets/js/393be207.5c96412d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[414],{1181:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>p,toc:()=>d});var o=t(5893),a=t(1151);const r={title:"Markdown page example"},s="Markdown page example",p={type:"mdx",permalink:"/markdown-page",source:"@site/src/pages/markdown-page.md",title:"Markdown page example",description:"You don't need React to write simple standalone pages.",frontMatter:{title:"Markdown page example"},unlisted:!1},c={},d=[];function i(e){const n={h1:"h1",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"}),"\n",(0,o.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>p,a:()=>s});var o=t(7294);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/404.4afbde99.js b/assets/js/404.4afbde99.js new file mode 100644 index 000000000..9cedccd30 --- /dev/null +++ b/assets/js/404.4afbde99.js @@ -0,0 +1 @@ +(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[404],{9047:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Z});var s=n(7294),o=n(5893);function c(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=t.filter((e=>e!==n)),a=n?.props.children;return{mdxAdmonitionTitle:a,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??t;return{...e,...c&&{title:c},children:n}}var a=n(512),r=n(5999),i=n(5281);const l={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function d(e){let{type:t,className:n,children:s}=e;return(0,o.jsx)("div",{className:(0,a.Z)(i.k.common.admonition,i.k.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,o.jsxs)("div",{className:l.admonitionHeading,children:[(0,o.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,o.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:c,className:a}=e;return(0,o.jsxs)(d,{type:t,className:a,children:[(0,o.jsx)(u,{title:s,icon:n}),(0,o.jsx)(m,{children:c})]})}function p(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,o.jsx)(p,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function x(e){return(0,o.jsx)(h,{...f,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}function g(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const b={icon:(0,o.jsx)(g,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function j(e){return(0,o.jsx)(h,{...b,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}function v(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,o.jsx)(v,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function N(e){return(0,o.jsx)(h,{...y,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function k(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const B={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function C(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,o.jsx)(C,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const L={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(r.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const E={...{note:x,tip:j,info:N,warning:function(e){return(0,o.jsx)(h,{...B,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(h,{...w,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(x,{title:"secondary",...e}),important:e=>(0,o.jsx)(N,{title:"important",...e}),success:e=>(0,o.jsx)(j,{title:"success",...e}),caution:function(e){return(0,o.jsx)(h,{...L,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})}}};function Z(e){const t=c(e),n=(s=t.type,E[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),E.info));var s;return(0,o.jsx)(n,{...t})}},1404:(e,t,n)=>{"use strict";n.d(t,{Z:()=>re});var s=n(7294),o=n(1151),c=n(5742),a=n(2389),r=n(512),i=n(2949),l=n(6668);function d(){const{prism:e}=(0,l.L)(),{colorMode:t}=(0,i.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(5281),m=n(7594),h=n.n(m);const p=/title=(?["'])(?.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},b=Object.keys(x);function j(e,t){const n=e.map((e=>{const{start:n,end:s}=g[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:o,metastring:c}=t;if(c&&f.test(c)){const e=c.match(f).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return j(["js","jsBlock"],t);case"jsx":case"tsx":return j(["js","jsBlock","jsx"],t);case"html":return j(["js","jsBlock","html"],t);case"python":case"py":case"bash":return j(["bash"],t);case"markdown":case"md":return j(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return j(["tex"],t);case"lua":case"haskell":case"sql":return j(["lua"],t);case"wasm":return j(["wasm"],t);case"vb":case"vbnet":case"vba":case"visual-basic":return j(["vb","rem"],t);case"batch":return j(["rem"],t);case"basic":return j(["rem","f90"],t);case"fsharp":return j(["js","ml"],t);case"ocaml":case"sml":return j(["ml"],t);case"fortran":return j(["f90"],t);case"cobol":return j(["cobol"],t);default:return j(b,t)}}(s,o),r=n.split("\n"),i=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<r.length;){const e=r[h].match(a);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?i[l[t]].range+=`${h},`:d[t]?i[d[t]].start=h:u[t]&&(i[u[t]].range+=`${i[u[t]].start}-${h-1},`),r.splice(h,1)}n=r.join("\n");const m={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const y={codeBlockContainer:"codeBlockContainer_Ckt0"};var N=n(5893);function k(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,o]=e;const c=t[s];c&&"string"==typeof o&&(n[c]=o)})),n}(d());return(0,N.jsx)(t,{...n,style:s,className:(0,r.Z)(n.className,y.codeBlockContainer,u.k.common.codeBlock)})}const B={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function C(e){let{children:t,className:n}=e;return(0,N.jsx)(k,{as:"pre",tabIndex:0,className:(0,r.Z)(B.codeBlockStandalone,"thin-scrollbar",n),children:(0,N.jsx)("code",{className:B.codeBlockLines,children:t})})}var w=n(902);const L={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e,t){const[n,o]=(0,s.useState)(),c=(0,s.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,s.useEffect)((()=>{c()}),[c]),function(e,t,n){void 0===n&&(n=L);const o=(0,w.zX)(t),c=(0,w.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,c),()=>t.disconnect()}),[e,o,c])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),c())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var Z=n(2573);const T={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function _(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:o,getTokenProps:c}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const a=o({line:t,className:(0,r.Z)(n,s&&T.codeLine)}),i=t.map(((e,t)=>(0,N.jsx)("span",{...c({token:e,key:t})},t)));return(0,N.jsxs)("span",{...a,children:[s?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:T.codeLineNumber}),(0,N.jsx)("span",{className:T.codeLineContent,children:i})]}):i,(0,N.jsx)("br",{})]})}var S=n(5999);function I(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function A(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const M={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function z(e){let{code:t,className:n}=e;const[o,c]=(0,s.useState)(!1),a=(0,s.useRef)(void 0),i=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),o=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const c=document.getSelection(),a=c.rangeCount>0&&c.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let r=!1;try{r=document.execCommand("copy")}catch{}s.remove(),a&&(c.removeAllRanges(),c.addRange(a)),o&&o.focus()}(t),c(!0),a.current=window.setTimeout((()=>{c(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,N.jsx)("button",{type:"button","aria-label":o?(0,S.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,S.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,S.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,r.Z)("clean-btn",n,M.copyButton,o&&M.copyButtonCopied),onClick:i,children:(0,N.jsxs)("span",{className:M.copyButtonIcons,"aria-hidden":"true",children:[(0,N.jsx)(I,{className:M.copyButtonIcon}),(0,N.jsx)(A,{className:M.copyButtonSuccessIcon})]})})}function H(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const R={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function V(e){let{className:t,onClick:n,isEnabled:s}=e;const o=(0,S.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,N.jsx)("button",{type:"button",onClick:n,className:(0,r.Z)("clean-btn",t,s&&R.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,N.jsx)(H,{className:R.wordWrapButtonIcon,"aria-hidden":"true"})})}function $(e){let{children:t,className:n="",metastring:o,title:c,showLineNumbers:a,language:i}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.L)(),h=function(e){return e?.toLowerCase()}(i??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),f=d(),x=function(){const[e,t]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),c=(0,s.useRef)(null),a=(0,s.useCallback)((()=>{const n=c.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[c,e]),r=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=c.current,n=e>t||c.current.querySelector("code").hasAttribute("style");o(n)}),[c]);return E(c,r),(0,s.useEffect)((()=>{r()}),[e,r]),(0,s.useEffect)((()=>(window.addEventListener("resize",r,{passive:!0}),()=>{window.removeEventListener("resize",r)})),[r]),{codeBlockRef:c,isEnabled:e,isCodeScrollable:n,toggle:a}}(),g=function(e){return e?.match(p)?.groups.title??""}(o)||c,{lineClassNames:b,code:j}=v(t,{metastring:o,language:h,magicComments:m}),y=a??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,N.jsxs)(k,{as:"div",className:(0,r.Z)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[g&&(0,N.jsx)("div",{className:B.codeBlockTitle,children:g}),(0,N.jsxs)("div",{className:B.codeBlockContent,children:[(0,N.jsx)(Z.y$,{theme:f,code:j,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:o,getTokenProps:c}=e;return(0,N.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,r.Z)(t,B.codeBlock,"thin-scrollbar"),style:n,children:(0,N.jsx)("code",{className:(0,r.Z)(B.codeBlockLines,y&&B.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,N.jsx)(_,{line:e,getLineProps:o,getTokenProps:c,classNames:b[t],showLineNumbers:y},t)))})})}}),(0,N.jsxs)("div",{className:B.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,N.jsx)(V,{className:B.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,N.jsx)(z,{className:B.codeButton,code:j})]})]})]})}function W(e){let{children:t,...n}=e;const o=(0,a.Z)(),c=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),r="string"==typeof c?$:C;return(0,N.jsx)(r,{...n,children:c},String(o))}function P(e){return(0,N.jsx)("code",{...e})}var D=n(3692);var O=n(6043);const q={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function G(e,t){return!!e&&(e===t||G(e.parentElement,t))}function U(e){let{summary:t,children:n,...o}=e;const c=(0,a.Z)(),i=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,O.u)({initialState:!o.open}),[u,m]=(0,s.useState)(o.open),h=s.isValidElement(t)?t:(0,N.jsx)("summary",{children:t??"Details"});return(0,N.jsxs)("details",{...o,ref:i,open:u,"data-collapsed":l,className:(0,r.Z)(q.details,c&&q.isBrowser,o.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;F(t)&&G(t,i.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,N.jsx)(O.z,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,N.jsx)("div",{className:q.collapsibleContent,children:n})})]})}const J={details:"details_b_Ee"},Y="alert alert--info";function K(e){let{...t}=e;return(0,N.jsx)(U,{...t,className:(0,r.Z)(Y,J.details,t.className)})}function Q(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),o=(0,N.jsx)(N.Fragment,{children:t.filter((e=>e!==n))});return(0,N.jsx)(K,{...e,summary:n,children:o})}var X=n(2503);function ee(e){return(0,N.jsx)(X.Z,{...e})}const te={containsTaskList:"containsTaskList_mC6p"};function ne(e){if(void 0!==e)return(0,r.Z)(e,e?.includes("contains-task-list")&&te.containsTaskList)}const se={img:"img_ev3q"};var oe=n(9047),ce=n(1875);const ae={Head:c.Z,details:Q,Details:Q,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,N.jsx)(P,{...e}):(0,N.jsx)(W,{...e})},a:function(e){return(0,N.jsx)(D.Z,{...e})},pre:function(e){return(0,N.jsx)(N.Fragment,{children:e.children})},ul:function(e){return(0,N.jsx)("ul",{...e,className:ne(e.className)})},img:function(e){return(0,N.jsx)("img",{loading:"lazy",...e,className:(t=e.className,(0,r.Z)(t,se.img))});var t},h1:e=>(0,N.jsx)(ee,{as:"h1",...e}),h2:e=>(0,N.jsx)(ee,{as:"h2",...e}),h3:e=>(0,N.jsx)(ee,{as:"h3",...e}),h4:e=>(0,N.jsx)(ee,{as:"h4",...e}),h5:e=>(0,N.jsx)(ee,{as:"h5",...e}),h6:e=>(0,N.jsx)(ee,{as:"h6",...e}),admonition:oe.Z,mermaid:ce.Z};function re(e){let{children:t}=e;return(0,N.jsx)(o.Z,{components:ae,children:t})}},7594:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,o,c]=t;if(s&&c){s=parseInt(s),c=parseInt(c);const e=s<c?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(c+=e);for(let t=s;t!==c;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},1151:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r,a:()=>a});var s=n(7294);const o={},c=s.createContext(o);function a(e){const t=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4b1723f1.cf30a1c5.js b/assets/js/4b1723f1.cf30a1c5.js new file mode 100644 index 000000000..bf5b94f63 --- /dev/null +++ b/assets/js/4b1723f1.cf30a1c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[813],{856:e=>{e.exports=JSON.parse('{"permalink":"/blog/tags/lips","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/533a09ca.1ac35a03.js b/assets/js/533a09ca.1ac35a03.js new file mode 100644 index 000000000..169a677a6 --- /dev/null +++ b/assets/js/533a09ca.1ac35a03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[607],{7028:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=s(5893),a=s(1151);const r={sidebar_position:3},n="Create a Blog Post",i={id:"tutorial-basics/create-a-blog-post",title:"Create a Blog Post",description:"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...",source:"@site/docs/tutorial-basics/create-a-blog-post.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/create-a-blog-post",permalink:"/docs/tutorial-basics/create-a-blog-post",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-blog-post.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Create a Document",permalink:"/docs/tutorial-basics/create-a-document"},next:{title:"Markdown Features",permalink:"/docs/tutorial-basics/markdown-features"}},c={},l=[{value:"Create your first Post",id:"create-your-first-post",level:2}];function u(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"create-a-blog-post",children:"Create a Blog Post"}),"\n",(0,o.jsxs)(t.p,{children:["Docusaurus creates a ",(0,o.jsx)(t.strong,{children:"page for each blog post"}),", but also a ",(0,o.jsx)(t.strong,{children:"blog index page"}),", a ",(0,o.jsx)(t.strong,{children:"tag system"}),", an ",(0,o.jsx)(t.strong,{children:"RSS"})," feed..."]}),"\n",(0,o.jsx)(t.h2,{id:"create-your-first-post",children:"Create your first Post"}),"\n",(0,o.jsxs)(t.p,{children:["Create a file at ",(0,o.jsx)(t.code,{children:"blog/2021-02-28-greetings.md"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-md",metastring:'title="blog/2021-02-28-greetings.md"',children:"---\nslug: greetings\ntitle: Greetings!\nauthors:\n - name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n - name: S\xe9bastien Lorber\n title: Docusaurus maintainer\n url: https://sebastienlorber.com\n image_url: https://github.com/slorber.png\ntags: [greetings]\n---\n\nCongratulations, you have made your first post!\n\nFeel free to play around and edit this post as much you like.\n"})}),"\n",(0,o.jsxs)(t.p,{children:["A new blog post is now available at ",(0,o.jsx)(t.a,{href:"http://localhost:3000/blog/greetings",children:"http://localhost:3000/blog/greetings"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>n});var o=s(7294);const a={},r=o.createContext(a);function n(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:n(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5c868d36.cb370952.js b/assets/js/5c868d36.cb370952.js new file mode 100644 index 000000000..0dcc641c1 --- /dev/null +++ b/assets/js/5c868d36.cb370952.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[589],{9775:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var r=t(5893),s=t(1151);const n={sidebar_position:1},o="Create a Page",c={id:"tutorial-basics/create-a-page",title:"Create a Page",description:"Add Markdown or React files to src/pages to create a standalone page:",source:"@site/docs/tutorial-basics/create-a-page.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/create-a-page",permalink:"/docs/tutorial-basics/create-a-page",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-page.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Tutorial - Basics",permalink:"/docs/category/tutorial---basics"},next:{title:"Create a Document",permalink:"/docs/tutorial-basics/create-a-document"}},i={},l=[{value:"Create your first React Page",id:"create-your-first-react-page",level:2},{value:"Create your first Markdown Page",id:"create-your-first-markdown-page",level:2}];function d(e){const a={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.h1,{id:"create-a-page",children:"Create a Page"}),"\n",(0,r.jsxs)(a.p,{children:["Add ",(0,r.jsx)(a.strong,{children:"Markdown or React"})," files to ",(0,r.jsx)(a.code,{children:"src/pages"})," to create a ",(0,r.jsx)(a.strong,{children:"standalone page"}),":"]}),"\n",(0,r.jsxs)(a.ul,{children:["\n",(0,r.jsxs)(a.li,{children:[(0,r.jsx)(a.code,{children:"src/pages/index.js"})," \u2192 ",(0,r.jsx)(a.code,{children:"localhost:3000/"})]}),"\n",(0,r.jsxs)(a.li,{children:[(0,r.jsx)(a.code,{children:"src/pages/foo.md"})," \u2192 ",(0,r.jsx)(a.code,{children:"localhost:3000/foo"})]}),"\n",(0,r.jsxs)(a.li,{children:[(0,r.jsx)(a.code,{children:"src/pages/foo/bar.js"})," \u2192 ",(0,r.jsx)(a.code,{children:"localhost:3000/foo/bar"})]}),"\n"]}),"\n",(0,r.jsx)(a.h2,{id:"create-your-first-react-page",children:"Create your first React Page"}),"\n",(0,r.jsxs)(a.p,{children:["Create a file at ",(0,r.jsx)(a.code,{children:"src/pages/my-react-page.js"}),":"]}),"\n",(0,r.jsx)(a.pre,{children:(0,r.jsx)(a.code,{className:"language-jsx",metastring:'title="src/pages/my-react-page.js"',children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\nexport default function MyReactPage() {\n return (\n <Layout>\n <h1>My React page</h1>\n <p>This is a React page</p>\n </Layout>\n );\n}\n"})}),"\n",(0,r.jsxs)(a.p,{children:["A new page is now available at ",(0,r.jsx)(a.a,{href:"http://localhost:3000/my-react-page",children:"http://localhost:3000/my-react-page"}),"."]}),"\n",(0,r.jsx)(a.h2,{id:"create-your-first-markdown-page",children:"Create your first Markdown Page"}),"\n",(0,r.jsxs)(a.p,{children:["Create a file at ",(0,r.jsx)(a.code,{children:"src/pages/my-markdown-page.md"}),":"]}),"\n",(0,r.jsx)(a.pre,{children:(0,r.jsx)(a.code,{className:"language-mdx",metastring:'title="src/pages/my-markdown-page.md"',children:"# My Markdown page\n\nThis is a Markdown page\n"})}),"\n",(0,r.jsxs)(a.p,{children:["A new page is now available at ",(0,r.jsx)(a.a,{href:"http://localhost:3000/my-markdown-page",children:"http://localhost:3000/my-markdown-page"}),"."]})]})}function p(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,a,t)=>{t.d(a,{Z:()=>c,a:()=>o});var r=t(7294);const s={},n=r.createContext(s);function o(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.c37a1170.js b/assets/js/5e95c892.c37a1170.js new file mode 100644 index 000000000..caf279409 --- /dev/null +++ b/assets/js/5e95c892.c37a1170.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[661],{1892:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(7294);var c=r(512),n=r(1944),u=r(5281),a=r(8790),d=r(6040),t=r(5893);function l(e){return(0,t.jsx)(n.FG,{className:(0,c.Z)(u.k.wrapper.docsPages),children:(0,t.jsx)(d.Z,{children:(0,a.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/66406991.a99900f4.js b/assets/js/66406991.a99900f4.js new file mode 100644 index 000000000..e5b336d03 --- /dev/null +++ b/assets/js/66406991.a99900f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[110],{711:e=>{e.exports=JSON.parse('{"permalink":"/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/677.af8b943c.js b/assets/js/677.af8b943c.js new file mode 100644 index 000000000..edf4efe13 --- /dev/null +++ b/assets/js/677.af8b943c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[677],{1460:(e,t,s)=>{s.d(t,{Z:()=>f});var a=s(7294),n=s(512),r=s(6040),l=s(7524),i=s(3692),o=s(5999),c=s(6550),m=s(8596);function d(e){const{pathname:t}=(0,c.TH)();return(0,a.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Mg)(e.permalink,t))}(e,t)))),[e,t])}const u={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var h=s(5893);function g(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,n.Z)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,n.Z)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,n.Z)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(i.Z,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=s(3102);function x(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("ul",{className:"menu__list",children:s.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(i.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,h.jsx)(p.Zo,{component:x,props:e})}function b(e){let{sidebar:t}=e;const s=(0,l.i)();return t?.items.length?"mobile"===s?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function f(e){const{sidebar:t,toc:s,children:a,...l}=e,i=t&&t.items.length>0;return(0,h.jsx)(r.Z,{...l,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(b,{sidebar:t}),(0,h.jsx)("main",{className:(0,n.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),itemScope:!0,itemType:"https://schema.org/Blog",children:a}),s&&(0,h.jsx)("div",{className:"col col--2",children:s})]})})})}},390:(e,t,s)=>{s.d(t,{Z:()=>y});s(7294);var a=s(512),n=s(9460),r=s(4996),l=s(5893);function i(e){let{children:t,className:s}=e;const{frontMatter:a,assets:i,metadata:{description:o}}=(0,n.C)(),{withBaseUrl:c}=(0,r.C)(),m=i.image??a.image,d=a.keywords??[];return(0,l.jsxs)("article",{className:s,itemProp:"blogPost",itemScope:!0,itemType:"https://schema.org/BlogPosting",children:[o&&(0,l.jsx)("meta",{itemProp:"description",content:o}),m&&(0,l.jsx)("link",{itemProp:"image",href:c(m,{absolute:!0})}),d.length>0&&(0,l.jsx)("meta",{itemProp:"keywords",content:d.join(",")}),t]})}var o=s(3692);const c={title:"title_f1Hy"};function m(e){let{className:t}=e;const{metadata:s,isBlogPostPage:r}=(0,n.C)(),{permalink:i,title:m}=s,d=r?"h1":"h2";return(0,l.jsx)(d,{className:(0,a.Z)(c.title,t),itemProp:"headline",children:r?m:(0,l.jsx)(o.Z,{itemProp:"url",to:i,children:m})})}var d=s(5999),u=s(8824);const h={container:"container_mt6G"};function g(e){let{readingTime:t}=e;const s=function(){const{selectMessage:e}=(0,u.c)();return t=>{const s=Math.ceil(t);return e(s,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:s}))}}();return(0,l.jsx)(l.Fragment,{children:s(t)})}function p(e){let{date:t,formattedDate:s}=e;return(0,l.jsx)("time",{dateTime:t,itemProp:"datePublished",children:s})}function x(){return(0,l.jsx)(l.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:s}=(0,n.C)(),{date:r,formattedDate:i,readingTime:o}=s;return(0,l.jsxs)("div",{className:(0,a.Z)(h.container,"margin-vert--md",t),children:[(0,l.jsx)(p,{date:r,formattedDate:i}),void 0!==o&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(x,{}),(0,l.jsx)(g,{readingTime:o})]})]})}function b(e){return e.href?(0,l.jsx)(o.Z,{...e}):(0,l.jsx)(l.Fragment,{children:e.children})}function f(e){let{author:t,className:s}=e;const{name:n,title:r,url:i,imageURL:o,email:c}=t,m=i||c&&`mailto:${c}`||void 0;return(0,l.jsxs)("div",{className:(0,a.Z)("avatar margin-bottom--sm",s),children:[o&&(0,l.jsx)(b,{href:m,className:"avatar__photo-link",children:(0,l.jsx)("img",{className:"avatar__photo",src:o,alt:n,itemProp:"image"})}),n&&(0,l.jsxs)("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person",children:[(0,l.jsx)("div",{className:"avatar__name",children:(0,l.jsx)(b,{href:m,itemProp:"url",children:(0,l.jsx)("span",{itemProp:"name",children:n})})}),r&&(0,l.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:r})]})]})}const v={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function _(e){let{className:t}=e;const{metadata:{authors:s},assets:r}=(0,n.C)();if(0===s.length)return null;const i=s.every((e=>{let{name:t}=e;return!t}));return(0,l.jsx)("div",{className:(0,a.Z)("margin-top--md margin-bottom--sm",i?v.imageOnlyAuthorRow:"row",t),children:s.map(((e,t)=>(0,l.jsx)("div",{className:(0,a.Z)(!i&&"col col--6",i?v.imageOnlyAuthorCol:v.authorCol),children:(0,l.jsx)(f,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,l.jsxs)("header",{children:[(0,l.jsx)(m,{}),(0,l.jsx)(j,{}),(0,l.jsx)(_,{})]})}var P=s(8780),Z=s(1404);function k(e){let{children:t,className:s}=e;const{isBlogPostPage:r}=(0,n.C)();return(0,l.jsx)("div",{id:r?P.blogPostContainerID:void 0,className:(0,a.Z)("markdown",s),itemProp:"articleBody",children:(0,l.jsx)(Z.Z,{children:t})})}var w=s(4881),C=s(1526);function T(){return(0,l.jsx)("b",{children:(0,l.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function I(e){const{blogPostTitle:t,...s}=e;return(0,l.jsx)(o.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...s,children:(0,l.jsx)(T,{})})}const F={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function L(){const{metadata:e,isBlogPostPage:t}=(0,n.C)(),{tags:s,title:r,editUrl:i,hasTruncateMarker:o}=e,c=!t&&o,m=s.length>0;return m||c||i?(0,l.jsxs)("footer",{className:(0,a.Z)("row docusaurus-mt-lg",t&&F.blogPostFooterDetailsFull),children:[m&&(0,l.jsx)("div",{className:(0,a.Z)("col",{"col--9":c}),children:(0,l.jsx)(C.Z,{tags:s})}),t&&i&&(0,l.jsx)("div",{className:"col margin-top--sm",children:(0,l.jsx)(w.Z,{editUrl:i})}),c&&(0,l.jsx)("div",{className:(0,a.Z)("col text--right",{"col--3":m}),children:(0,l.jsx)(I,{blogPostTitle:r,to:e.permalink})})]}):null}function y(e){let{children:t,className:s}=e;const r=function(){const{isBlogPostPage:e}=(0,n.C)();return e?void 0:"margin-bottom--xl"}();return(0,l.jsxs)(i,{className:(0,a.Z)(r,s),children:[(0,l.jsx)(N,{}),(0,l.jsx)(k,{children:t}),(0,l.jsx)(L,{})]})}},4881:(e,t,s)=>{s.d(t,{Z:()=>m});s(7294);var a=s(5999),n=s(5281),r=s(3692),l=s(512);const i={iconEdit:"iconEdit_Z9Sw"};var o=s(5893);function c(e){let{className:t,...s}=e;return(0,o.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,l.Z)(i.iconEdit,t),"aria-hidden":"true",...s,children:(0,o.jsx)("g",{children:(0,o.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function m(e){let{editUrl:t}=e;return(0,o.jsxs)(r.Z,{to:t,className:n.k.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},2244:(e,t,s)=>{s.d(t,{Z:()=>l});s(7294);var a=s(512),n=s(3692),r=s(5893);function l(e){const{permalink:t,title:s,subLabel:l,isNext:i}=e;return(0,r.jsxs)(n.Z,{className:(0,a.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,r.jsx)("div",{className:"pagination-nav__label",children:s})]})}},3008:(e,t,s)=>{s.d(t,{Z:()=>i});s(7294);var a=s(512),n=s(3692);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=s(5893);function i(e){let{permalink:t,label:s,count:i}=e;return(0,l.jsxs)(n.Z,{href:t,className:(0,a.Z)(r.tag,i?r.tagWithCount:r.tagRegular),children:[s,i&&(0,l.jsx)("span",{children:i})]})}},1526:(e,t,s)=>{s.d(t,{Z:()=>o});s(7294);var a=s(512),n=s(5999),r=s(3008);const l={tags:"tags_jXut",tag:"tag_QGVx"};var i=s(5893);function o(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(n.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,a.Z)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:s}=e;return(0,i.jsx)("li",{className:l.tag,children:(0,i.jsx)(r.Z,{label:t,permalink:s})},s)}))})]})}},9460:(e,t,s)=>{s.d(t,{C:()=>o,n:()=>i});var a=s(7294),n=s(902),r=s(5893);const l=a.createContext(null);function i(e){let{children:t,content:s,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:s}=e;return(0,a.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:s})),[t,s])}({content:s,isBlogPostPage:n});return(0,r.jsx)(l.Provider,{value:i,children:t})}function o(){const e=(0,a.useContext)(l);if(null===e)throw new n.i6("BlogPostProvider");return e}},8824:(e,t,s)=>{s.d(t,{c:()=>c});var a=s(7294),n=s(2263);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,s)=>function(e,t,s){const a=e.split("|");if(1===a.length)return a[0];a.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const n=s.select(t),r=s.pluralForms.indexOf(n);return a[Math.min(r,a.length-1)]}(s,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/6875c492.c45f48fb.js b/assets/js/6875c492.c45f48fb.js new file mode 100644 index 000000000..c6873a61c --- /dev/null +++ b/assets/js/6875c492.c45f48fb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[610],{9703:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var s=n(5999),a=n(2244),i=n(5893);function l(e){const{metadata:t}=e,{previousPage:n,nextPage:l}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.Z,{permalink:n,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),l&&(0,i.jsx)(a.Z,{permalink:l,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},9985:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var s=n(9460),a=n(390),i=n(5893);function l(e){let{items:t,component:n=a.Z}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.n,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},1714:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});n(7294);var s=n(512),a=n(5999),i=n(8824),l=n(1944),r=n(5281),o=n(3692),c=n(1460),d=n(9703),g=n(197),u=n(9985),h=n(2212),p=n(2503),m=n(5893);function x(e){const t=function(){const{selectMessage:e}=(0,i.c)();return t=>e(t,(0,a.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}();return(0,a.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function j(e){let{tag:t}=e;const n=x(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(l.d,{title:n}),(0,m.jsx)(g.Z,{tag:"blog_tags_posts"})]})}function b(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const l=x(t);return(0,m.jsxs)(c.Z,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.Z,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.Z,{as:"h1",children:l}),(0,m.jsx)(o.Z,{href:t.allTagsPath,children:(0,m.jsx)(a.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.Z,{items:n}),(0,m.jsx)(d.Z,{metadata:i})]})}function f(e){return(0,m.jsxs)(l.FG,{className:(0,s.Z)(r.k.wrapper.blogPages,r.k.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},2212:(e,t,n)=>{n.d(t,{Z:()=>h});n(7294);var s=n(512),a=n(5999),i=n(5742),l=n(5893);function r(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(5281),g=n(9047);function u(e){let{className:t}=e;return(0,l.jsx)(g.Z,{type:"caution",title:(0,l.jsx)(r,{}),className:(0,s.Z)(t,d.k.common.unlistedBanner),children:(0,l.jsx)(o,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(u,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/772.f7afe75c.js b/assets/js/772.f7afe75c.js new file mode 100644 index 000000000..e0dfafdb6 --- /dev/null +++ b/assets/js/772.f7afe75c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[772],{5658:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var i=n(512),o=n(5999),s=n(2503),r=n(5893);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1772:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});n(7294);var i=n(5999),o=n(1944),s=n(6040),r=n(5658),a=n(5893);function d(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.d,{title:e}),(0,a.jsx)(s.Z,{children:(0,a.jsx)(r.Z,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/7f5460c2.cfc5aa32.js b/assets/js/7f5460c2.cfc5aa32.js new file mode 100644 index 000000000..e9fa16a98 --- /dev/null +++ b/assets/js/7f5460c2.cfc5aa32.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[885],{2198:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>i});var s=o(5893),n=o(1151);const a={slug:"welcome",title:"Welcome",authors:"jcubic",tags:["hello","lips"]},r=void 0,c={permalink:"/blog/welcome",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2024-02-10-welcome.md",source:"@site/blog/2024-02-10-welcome.md",title:"Welcome",description:"This is first article on LIPS blog. The blog is powered by Docusaurus.",date:"2024-02-10T00:00:00.000Z",formattedDate:"February 10, 2024",tags:[{label:"hello",permalink:"/blog/tags/hello"},{label:"lips",permalink:"/blog/tags/lips"}],readingTime:.07,hasTruncateMarker:!0,authors:[{name:"Jakub T. Jankiewicz",title:"LIPS maintainer",url:"https://jakub.jankiewicz.org/",imageURL:"https://github.com/jcubic.png",key:"jcubic"}],frontMatter:{slug:"welcome",title:"Welcome",authors:"jcubic",tags:["hello","lips"]},unlisted:!1},l={authorsImageUrls:[void 0]},i=[];function u(e){const t={a:"a",p:"p",...(0,n.a)(),...e.components};return(0,s.jsxs)(t.p,{children:["This is first article on LIPS blog. The blog is powered by ",(0,s.jsx)(t.a,{href:"https://docusaurus.io",children:"Docusaurus"}),"."]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>c,a:()=>r});var s=o(7294);const n={},a=s.createContext(n);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.d472087f.js b/assets/js/814f3328.d472087f.js new file mode 100644 index 000000000..a39139f36 --- /dev/null +++ b/assets/js/814f3328.d472087f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/blog/welcome","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/822bd8ab.c2feffd2.js b/assets/js/822bd8ab.c2feffd2.js new file mode 100644 index 000000000..3fea8cdad --- /dev/null +++ b/assets/js/822bd8ab.c2feffd2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[504],{957:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var n=e(5893),o=e(1151);const i={sidebar_position:6},r="Congratulations!",a={id:"tutorial-basics/congratulations",title:"Congratulations!",description:"You have just learned the basics of Docusaurus and made some changes to the initial template.",source:"@site/docs/tutorial-basics/congratulations.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/congratulations",permalink:"/docs/tutorial-basics/congratulations",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/congratulations.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Deploy your site",permalink:"/docs/tutorial-basics/deploy-your-site"},next:{title:"Tutorial - Extras",permalink:"/docs/category/tutorial---extras"}},c={},u=[{value:"What's next?",id:"whats-next",level:2}];function d(s){const t={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...s.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"congratulations",children:"Congratulations!"}),"\n",(0,n.jsxs)(t.p,{children:["You have just learned the ",(0,n.jsx)(t.strong,{children:"basics of Docusaurus"})," and made some changes to the ",(0,n.jsx)(t.strong,{children:"initial template"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus has ",(0,n.jsx)(t.strong,{children:"much more to offer"}),"!"]}),"\n",(0,n.jsxs)(t.p,{children:["Have ",(0,n.jsx)(t.strong,{children:"5 more minutes"}),"? Take a look at ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/tutorial-extras/manage-docs-versions",children:"versioning"})})," and ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/tutorial-extras/translate-your-site",children:"i18n"})}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Anything ",(0,n.jsx)(t.strong,{children:"unclear"})," or ",(0,n.jsx)(t.strong,{children:"buggy"})," in this tutorial? ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/discussions/4610",children:"Please report it!"})]}),"\n",(0,n.jsx)(t.h2,{id:"whats-next",children:"What's next?"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Read the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/",children:"official documentation"})]}),"\n",(0,n.jsxs)(t.li,{children:["Modify your site configuration with ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/api/docusaurus-config",children:(0,n.jsx)(t.code,{children:"docusaurus.config.js"})})]}),"\n",(0,n.jsxs)(t.li,{children:["Add navbar and footer items with ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/api/themes/configuration",children:(0,n.jsx)(t.code,{children:"themeConfig"})})]}),"\n",(0,n.jsxs)(t.li,{children:["Add a custom ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/styling-layout",children:"Design and Layout"})]}),"\n",(0,n.jsxs)(t.li,{children:["Add a ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/search",children:"search bar"})]}),"\n",(0,n.jsxs)(t.li,{children:["Find inspirations in the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/showcase",children:"Docusaurus showcase"})]}),"\n",(0,n.jsxs)(t.li,{children:["Get involved in the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/community/support",children:"Docusaurus Community"})]}),"\n"]})]})}function l(s={}){const{wrapper:t}={...(0,o.a)(),...s.components};return t?(0,n.jsx)(t,{...s,children:(0,n.jsx)(d,{...s})}):d(s)}},1151:(s,t,e)=>{e.d(t,{Z:()=>a,a:()=>r});var n=e(7294);const o={},i=n.createContext(o);function r(s){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof s?s(t):{...t,...s}}),[t,s])}function a(s){let t;return t=s.disableParentContext?"function"==typeof s.components?s.components(o):s.components||o:r(s.components),n.createElement(i.Provider,{value:t},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.66d34ebd.js b/assets/js/935f2afb.66d34ebd.js new file mode 100644 index 000000000..d216daef1 --- /dev/null +++ b/assets/js/935f2afb.66d34ebd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[53],{1109:a=>{a.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Tutorial Intro","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/docs/tutorial-basics/create-a-page","docId":"tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/docs/tutorial-basics/create-a-document","docId":"tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/docs/tutorial-basics/create-a-blog-post","docId":"tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/docs/tutorial-basics/deploy-your-site","docId":"tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/docs/tutorial-basics/congratulations","docId":"tutorial-basics/congratulations","unlisted":false}],"href":"/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}]},"docs":{"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"tutorialSidebar"},"tutorial-basics/congratulations":{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-blog-post":{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-document":{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-page":{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"tutorialSidebar"},"tutorial-basics/deploy-your-site":{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9abc7bc7.bb874be7.js b/assets/js/9abc7bc7.bb874be7.js new file mode 100644 index 000000000..02b0ed73f --- /dev/null +++ b/assets/js/9abc7bc7.bb874be7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[460],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.563d300f.js b/assets/js/9e4087bc.563d300f.js new file mode 100644 index 000000000..069e46daf --- /dev/null +++ b/assets/js/9e4087bc.563d300f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[608],{3169:(e,s,r)=>{r.r(s),r.d(s,{default:()=>o});r(7294);var t=r(3692),a=r(5999),i=r(1944),n=r(6040),c=r(2503),l=r(5893);function d(e){let{year:s,posts:r}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.Z,{as:"h3",id:s,children:s}),(0,l.jsx)("ul",{children:r.map((e=>(0,l.jsx)("li",{children:(0,l.jsxs)(t.Z,{to:e.metadata.permalink,children:[e.metadata.formattedDate," - ",e.metadata.title]})},e.metadata.date)))})]})}function h(e){let{years:s}=e;return(0,l.jsx)("section",{className:"margin-vert--lg",children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:s.map(((e,s)=>(0,l.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,l.jsx)(d,{...e})},s)))})})})}function o(e){let{archive:s}=e;const r=(0,a.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),t=(0,a.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),d=function(e){const s=e.reduce(((e,s)=>{const r=s.metadata.date.split("-")[0],t=e.get(r)??[];return e.set(r,[s,...t])}),new Map);return Array.from(s,(e=>{let[s,r]=e;return{year:s,posts:r}}))}(s.blogPosts);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.d,{title:r,description:t}),(0,l.jsxs)(n.Z,{children:[(0,l.jsx)("header",{className:"hero hero--primary",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(c.Z,{as:"h1",className:"hero__title",children:r}),(0,l.jsx)("p",{className:"hero__subtitle",children:t})]})}),(0,l.jsx)("main",{children:d.length>0&&(0,l.jsx)(h,{years:d})})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.8e1e7c18.js b/assets/js/a6aa9e1f.8e1e7c18.js new file mode 100644 index 000000000..7c768a2aa --- /dev/null +++ b/assets/js/a6aa9e1f.8e1e7c18.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[89],{46:(e,t,a)=>{a.r(t),a.d(t,{default:()=>h});a(7294);var n=a(512),s=a(2263),i=a(1944),r=a(5281),l=a(1460),o=a(9703),d=a(197),g=a(9985),c=a(5893);function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,s.Z)(),{blogDescription:n,blogTitle:r,permalink:l}=t,o="/"===l?a:r;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.d,{title:o,description:n}),(0,c.jsx)(d.Z,{tag:"blog_posts_list"})]})}function m(e){const{metadata:t,items:a,sidebar:n}=e;return(0,c.jsxs)(l.Z,{sidebar:n,children:[(0,c.jsx)(g.Z,{items:a}),(0,c.jsx)(o.Z,{metadata:t})]})}function h(e){return(0,c.jsxs)(i.FG,{className:(0,n.Z)(r.k.wrapper.blogPages,r.k.page.blogListPage),children:[(0,c.jsx)(p,{...e}),(0,c.jsx)(m,{...e})]})}},9703:(e,t,a)=>{a.d(t,{Z:()=>r});a(7294);var n=a(5999),s=a(2244),i=a(5893);function r(e){const{metadata:t}=e,{previousPage:a,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,i.jsx)(s.Z,{permalink:a,title:(0,i.jsx)(n.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),r&&(0,i.jsx)(s.Z,{permalink:r,title:(0,i.jsx)(n.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},9985:(e,t,a)=>{a.d(t,{Z:()=>r});a(7294);var n=a(9460),s=a(390),i=a(5893);function r(e){let{items:t,component:a=s.Z}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(n.n,{content:t,children:(0,i.jsx)(a,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}}}]); \ No newline at end of file diff --git a/assets/js/a7023ddc.e31d725a.js b/assets/js/a7023ddc.e31d725a.js new file mode 100644 index 000000000..da426fc8f --- /dev/null +++ b/assets/js/a7023ddc.e31d725a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[713],{3457:l=>{l.exports=JSON.parse('[{"label":"hello","permalink":"/blog/tags/hello","count":1},{"label":"lips","permalink":"/blog/tags/lips","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.39e33d3e.js b/assets/js/a7bd4aaa.39e33d3e.js new file mode 100644 index 000000000..20c270a16 --- /dev/null +++ b/assets/js/a7bd4aaa.39e33d3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[518],{8564:(n,e,s)=>{s.r(e),s.d(e,{default:()=>l});s(7294);var r=s(1944),o=s(3320),t=s(4477),c=s(8790),i=s(197),u=s(5893);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.Z,{version:e.version,tag:(0,o.os)(e.pluginId,e.version)}),(0,u.jsx)(r.d,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function d(n){const{version:e,route:s}=n;return(0,u.jsx)(r.FG,{className:e.className,children:(0,u.jsx)(t.q,{version:e,children:(0,c.H)(s.routes)})})}function l(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(d,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.b207b1ef.js b/assets/js/a94703ab.b207b1ef.js new file mode 100644 index 000000000..ccdabb73d --- /dev/null +++ b/assets/js/a94703ab.b207b1ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[368],{2674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(7294),o=n(512),i=n(1944),s=n(5281),l=n(2802),r=n(1116),c=n(5999),d=n(2466),u=n(5936);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(5893);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(1442),x=n(6550),f=n(7524),j=n(6668),k=n(1327);function _(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(_,{className:v.collapseSidebarButtonIcon})})}var C=n(9689),S=n(902);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(6043),Z=n(8596),A=n(3692),L=n(2389);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),k=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),_=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!_&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":_}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":h?!g:void 0,href:h?k??"#":k,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(3919),H=n(9471);const M={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_M9Kj"};function F(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(F,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",G="sidebarHidden_VK0M",O="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&z,i&&G),children:[s&&(0,b.jsx)(k.Z,{tabIndex:-1,className:O}),(0,b.jsx)(K,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const J=a.memo(q);var Q=n(3102),X=n(2961);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(Q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(J,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(5658);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},5658:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var a=n(512),o=n(5999),i=n(2503),s=n(5893);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/b2b675dd.87b36ee0.js b/assets/js/b2b675dd.87b36ee0.js new file mode 100644 index 000000000..24859cc5e --- /dev/null +++ b/assets/js/b2b675dd.87b36ee0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[533],{8017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.1b46585f.js b/assets/js/b2f554cd.1b46585f.js new file mode 100644 index 000000000..f4bc19660 --- /dev/null +++ b/assets/js/b2f554cd.1b46585f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2024-02-10-welcome.md","source":"@site/blog/2024-02-10-welcome.md","title":"Welcome","description":"This is first article on LIPS blog. The blog is powered by Docusaurus.","date":"2024-02-10T00:00:00.000Z","formattedDate":"February 10, 2024","tags":[{"label":"hello","permalink":"/blog/tags/hello"},{"label":"lips","permalink":"/blog/tags/lips"}],"readingTime":0.07,"hasTruncateMarker":true,"authors":[{"name":"Jakub T. Jankiewicz","title":"LIPS maintainer","url":"https://jakub.jankiewicz.org/","imageURL":"https://github.com/jcubic.png","key":"jcubic"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":"jcubic","tags":["hello","lips"]},"unlisted":false},"content":"This is first article on LIPS blog. The blog is powered by [Docusaurus](https://docusaurus.io).\\n\\n\x3c!--truncate--\x3e"}]}')}}]); \ No newline at end of file diff --git a/assets/js/c36ecdcb.055c7000.js b/assets/js/c36ecdcb.055c7000.js new file mode 100644 index 000000000..dbb70b491 --- /dev/null +++ b/assets/js/c36ecdcb.055c7000.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[682],{9446:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>i});var s=o(5893),n=o(1151);const a={slug:"welcome",title:"Welcome",authors:"jcubic",tags:["hello","lips"]},r=void 0,c={permalink:"/blog/welcome",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2024-02-10-welcome.md",source:"@site/blog/2024-02-10-welcome.md",title:"Welcome",description:"This is first article on LIPS blog. The blog is powered by Docusaurus.",date:"2024-02-10T00:00:00.000Z",formattedDate:"February 10, 2024",tags:[{label:"hello",permalink:"/blog/tags/hello"},{label:"lips",permalink:"/blog/tags/lips"}],readingTime:.07,hasTruncateMarker:!0,authors:[{name:"Jakub T. Jankiewicz",title:"LIPS maintainer",url:"https://jakub.jankiewicz.org/",imageURL:"https://github.com/jcubic.png",key:"jcubic"}],frontMatter:{slug:"welcome",title:"Welcome",authors:"jcubic",tags:["hello","lips"]},unlisted:!1},l={authorsImageUrls:[void 0]},i=[];function u(e){const t={a:"a",p:"p",...(0,n.a)(),...e.components};return(0,s.jsxs)(t.p,{children:["This is first article on LIPS blog. The blog is powered by ",(0,s.jsx)(t.a,{href:"https://docusaurus.io",children:"Docusaurus"}),"."]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>c,a:()=>r});var s=o(7294);const n={},a=s.createContext(n);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c71491fd.b6cfb1ed.js b/assets/js/c71491fd.b6cfb1ed.js new file mode 100644 index 000000000..0706bec0f --- /dev/null +++ b/assets/js/c71491fd.b6cfb1ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[242],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/c844b82d.4ce65e34.js b/assets/js/c844b82d.4ce65e34.js new file mode 100644 index 000000000..2ae5a6599 --- /dev/null +++ b/assets/js/c844b82d.4ce65e34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[326],{5262:t=>{t.exports=JSON.parse('{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/docs/category/tutorial---extras","navigation":{"previous":{"title":"Congratulations!","permalink":"/docs/tutorial-basics/congratulations"},"next":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}}')}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.4cec8659.js b/assets/js/ccc49370.4cec8659.js new file mode 100644 index 000000000..eccaa3b8b --- /dev/null +++ b/assets/js/ccc49370.4cec8659.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[103],{5203:(e,n,t)=>{t.r(n),t.d(n,{default:()=>p});t(7294);var a=t(512),i=t(1944),s=t(5281),o=t(9460),l=t(1460),r=t(390),c=t(5999),d=t(2244),u=t(5893);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[t&&(0,u.jsx)(d.Z,{...t,subLabel:(0,u.jsx)(c.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer Post"})}),n&&(0,u.jsx)(d.Z,{...n,subLabel:(0,u.jsx)(c.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older Post"}),isNext:!0})]})}function g(){const{assets:e,metadata:n}=(0,o.C)(),{title:t,description:a,date:s,tags:l,authors:r,frontMatter:c}=n,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(i.d,{title:t,description:a,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:s}),r.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:r.map((e=>e.url)).filter(Boolean).join(",")}),l.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:l.map((e=>e.label)).join(",")})]})}var h=t(9407),f=t(2212);function v(e){let{sidebar:n,children:t}=e;const{metadata:a,toc:i}=(0,o.C)(),{nextItem:s,prevItem:c,frontMatter:d,unlisted:g}=a,{hide_table_of_contents:v,toc_min_heading_level:p,toc_max_heading_level:x}=d;return(0,u.jsxs)(l.Z,{sidebar:n,toc:!v&&i.length>0?(0,u.jsx)(h.Z,{toc:i,minHeadingLevel:p,maxHeadingLevel:x}):void 0,children:[g&&(0,u.jsx)(f.Z,{}),(0,u.jsx)(r.Z,{children:t}),(s||c)&&(0,u.jsx)(m,{nextItem:s,prevItem:c})]})}function p(e){const n=e.content;return(0,u.jsx)(o.n,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(i.FG,{className:(0,a.Z)(s.k.wrapper.blogPages,s.k.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(n,{})})]})})}},9407:(e,n,t)=>{t.d(n,{Z:()=>c});t(7294);var a=t(512),i=t(3743);const s={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var o=t(5893);const l="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:n,...t}=e;return(0,o.jsx)("div",{className:(0,a.Z)(s.tableOfContents,"thin-scrollbar",n),children:(0,o.jsx)(i.Z,{...t,linkClassName:l,linkActiveClassName:r})})}},3743:(e,n,t)=>{t.d(n,{Z:()=>f});var a=t(7294),i=t(6668);function s(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const a=t.slice(2,e.level);e.parentIndex=Math.max(...a),t[e.level]=n}));const a=[];return n.forEach((e=>{const{parentIndex:t,...i}=e;t>=0?n[t].children.push(i):a.push(i)})),a}function o(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return n.flatMap((e=>{const n=o({toc:e.children,minHeadingLevel:t,maxHeadingLevel:a});return function(e){return e.level>=t&&e.level<=a}(e)?[{...e,children:n}]:n}))}function l(e){const n=e.getBoundingClientRect();return n.top===n.bottom?l(e.parentNode):n}function r(e,n){let{anchorTopOffset:t}=n;const a=e.find((e=>l(e).top>=t));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:n}}=(0,i.L)();return(0,a.useEffect)((()=>{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,a.useRef)(void 0),t=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:i,minHeadingLevel:s,maxHeadingLevel:o}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),l=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const a=[];for(let i=n;i<=t;i+=1)a.push(`h${i}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:s,maxHeadingLevel:o}),c=r(l,{anchorTopOffset:t.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(i),e.classList.add(i),n.current=e):e.classList.remove(i)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,t])}var u=t(3692),m=t(5893);function g(e){let{toc:n,className:t,linkClassName:a,isChild:i}=e;return n.length?(0,m.jsx)("ul",{className:i?void 0:t,children:n.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:t,linkClassName:a})]},e.id)))}):null}const h=a.memo(g);function f(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,i.L)(),v=c??f.tableOfContents.minHeadingLevel,p=u??f.tableOfContents.maxHeadingLevel,x=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return(0,a.useMemo)((()=>o({toc:s(n),minHeadingLevel:t,maxHeadingLevel:i})),[n,t,i])}({toc:n,minHeadingLevel:v,maxHeadingLevel:p});return d((0,a.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:p}}),[l,r,v,p])),(0,m.jsx)(h,{toc:x,className:t,linkClassName:l,...g})}},2212:(e,n,t)=>{t.d(n,{Z:()=>g});t(7294);var a=t(512),i=t(5999),s=t(5742),o=t(5893);function l(){return(0,o.jsx)(i.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,o.jsx)(i.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,o.jsx)(s.Z,{children:(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(5281),u=t(9047);function m(e){let{className:n}=e;return(0,o.jsx)(u.Z,{type:"caution",title:(0,o.jsx)(l,{}),className:(0,a.Z)(n,d.k.common.unlistedBanner),children:(0,o.jsx)(r,{})})}function g(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{}),(0,o.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/dff1c289.b2dbee2f.js b/assets/js/dff1c289.b2dbee2f.js new file mode 100644 index 000000000..1e1acf860 --- /dev/null +++ b/assets/js/dff1c289.b2dbee2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[792],{4298:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>t,default:()=>u,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var o=n(5893),r=n(1151);const i={sidebar_position:1},t="Manage Docs Versions",d={id:"tutorial-extras/manage-docs-versions",title:"Manage Docs Versions",description:"Docusaurus can manage multiple versions of your docs.",source:"@site/docs/tutorial-extras/manage-docs-versions.md",sourceDirName:"tutorial-extras",slug:"/tutorial-extras/manage-docs-versions",permalink:"/docs/tutorial-extras/manage-docs-versions",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-extras/manage-docs-versions.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Tutorial - Extras",permalink:"/docs/category/tutorial---extras"},next:{title:"Translate your site",permalink:"/docs/tutorial-extras/translate-your-site"}},a={},c=[{value:"Create a docs version",id:"create-a-docs-version",level:2},{value:"Add a Version Dropdown",id:"add-a-version-dropdown",level:2},{value:"Update an existing version",id:"update-an-existing-version",level:2}];function l(e){const s={code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h1,{id:"manage-docs-versions",children:"Manage Docs Versions"}),"\n",(0,o.jsx)(s.p,{children:"Docusaurus can manage multiple versions of your docs."}),"\n",(0,o.jsx)(s.h2,{id:"create-a-docs-version",children:"Create a docs version"}),"\n",(0,o.jsx)(s.p,{children:"Release a version 1.0 of your project:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"npm run docusaurus docs:version 1.0\n"})}),"\n",(0,o.jsxs)(s.p,{children:["The ",(0,o.jsx)(s.code,{children:"docs"})," folder is copied into ",(0,o.jsx)(s.code,{children:"versioned_docs/version-1.0"})," and ",(0,o.jsx)(s.code,{children:"versions.json"})," is created."]}),"\n",(0,o.jsx)(s.p,{children:"Your docs now have 2 versions:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"1.0"})," at ",(0,o.jsx)(s.code,{children:"http://localhost:3000/docs/"})," for the version 1.0 docs"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"current"})," at ",(0,o.jsx)(s.code,{children:"http://localhost:3000/docs/next/"})," for the ",(0,o.jsx)(s.strong,{children:"upcoming, unreleased docs"})]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"add-a-version-dropdown",children:"Add a Version Dropdown"}),"\n",(0,o.jsx)(s.p,{children:"To navigate seamlessly across versions, add a version dropdown."}),"\n",(0,o.jsxs)(s.p,{children:["Modify the ",(0,o.jsx)(s.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,o.jsx)(s.p,{children:"The docs version dropdown appears in your navbar:"}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.img,{alt:"Docs Version Dropdown",src:n(9681).Z+"",width:"370",height:"302"})}),"\n",(0,o.jsx)(s.h2,{id:"update-an-existing-version",children:"Update an existing version"}),"\n",(0,o.jsx)(s.p,{children:"It is possible to edit versioned docs in their respective folder:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"versioned_docs/version-1.0/hello.md"})," updates ",(0,o.jsx)(s.code,{children:"http://localhost:3000/docs/hello"})]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docs/hello.md"})," updates ",(0,o.jsx)(s.code,{children:"http://localhost:3000/docs/next/hello"})]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},9681:(e,s,n)=>{n.d(s,{Z:()=>o});const o=n.p+"assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png"},1151:(e,s,n)=>{n.d(s,{Z:()=>d,a:()=>t});var o=n(7294);const r={},i=o.createContext(r);function t(e){const s=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e44a2883.3d0889b9.js b/assets/js/e44a2883.3d0889b9.js new file mode 100644 index 000000000..c069d3e07 --- /dev/null +++ b/assets/js/e44a2883.3d0889b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[755],{897:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var s=t(5893),r=t(1151);const o={sidebar_position:2},a="Translate your site",i={id:"tutorial-extras/translate-your-site",title:"Translate your site",description:"Let's translate docs/intro.md to French.",source:"@site/docs/tutorial-extras/translate-your-site.md",sourceDirName:"tutorial-extras",slug:"/tutorial-extras/translate-your-site",permalink:"/docs/tutorial-extras/translate-your-site",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-extras/translate-your-site.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Manage Docs Versions",permalink:"/docs/tutorial-extras/manage-docs-versions"}},l={},c=[{value:"Configure i18n",id:"configure-i18n",level:2},{value:"Translate a doc",id:"translate-a-doc",level:2},{value:"Start your localized site",id:"start-your-localized-site",level:2},{value:"Add a Locale Dropdown",id:"add-a-locale-dropdown",level:2},{value:"Build your localized site",id:"build-your-localized-site",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"translate-your-site",children:"Translate your site"}),"\n",(0,s.jsxs)(n.p,{children:["Let's translate ",(0,s.jsx)(n.code,{children:"docs/intro.md"})," to French."]}),"\n",(0,s.jsx)(n.h2,{id:"configure-i18n",children:"Configure i18n"}),"\n",(0,s.jsxs)(n.p,{children:["Modify ",(0,s.jsx)(n.code,{children:"docusaurus.config.js"})," to add support for the ",(0,s.jsx)(n.code,{children:"fr"})," locale:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n i18n: {\n defaultLocale: 'en',\n locales: ['en', 'fr'],\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"translate-a-doc",children:"Translate a doc"}),"\n",(0,s.jsxs)(n.p,{children:["Copy the ",(0,s.jsx)(n.code,{children:"docs/intro.md"})," file to the ",(0,s.jsx)(n.code,{children:"i18n/fr"})," folder:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/\n\ncp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Translate ",(0,s.jsx)(n.code,{children:"i18n/fr/docusaurus-plugin-content-docs/current/intro.md"})," in French."]}),"\n",(0,s.jsx)(n.h2,{id:"start-your-localized-site",children:"Start your localized site"}),"\n",(0,s.jsx)(n.p,{children:"Start your site on the French locale:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run start -- --locale fr\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Your localized site is accessible at ",(0,s.jsx)(n.a,{href:"http://localhost:3000/fr/",children:"http://localhost:3000/fr/"})," and the ",(0,s.jsx)(n.code,{children:"Getting Started"})," page is translated."]}),"\n",(0,s.jsx)(n.admonition,{type:"caution",children:(0,s.jsx)(n.p,{children:"In development, you can only use one locale at a time."})}),"\n",(0,s.jsx)(n.h2,{id:"add-a-locale-dropdown",children:"Add a Locale Dropdown"}),"\n",(0,s.jsx)(n.p,{children:"To navigate seamlessly across languages, add a locale dropdown."}),"\n",(0,s.jsxs)(n.p,{children:["Modify the ",(0,s.jsx)(n.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.p,{children:"The locale dropdown now appears in your navbar:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Locale Dropdown",src:t(1193).Z+"",width:"370",height:"302"})}),"\n",(0,s.jsx)(n.h2,{id:"build-your-localized-site",children:"Build your localized site"}),"\n",(0,s.jsx)(n.p,{children:"Build your site for a specific locale:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run build -- --locale fr\n"})}),"\n",(0,s.jsx)(n.p,{children:"Or build your site to include all the locales at once:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1193:(e,n,t)=>{t.d(n,{Z:()=>s});const s=t.p+"assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>a});var s=t(7294);const r={},o=s.createContext(r);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ea13dd3a.04b745f0.js b/assets/js/ea13dd3a.04b745f0.js new file mode 100644 index 000000000..e377ee6c6 --- /dev/null +++ b/assets/js/ea13dd3a.04b745f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[652],{166:s=>{s.exports=JSON.parse('{"label":"lips","permalink":"/blog/tags/lips","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/ea88f2a1.fda74e0a.js b/assets/js/ea88f2a1.fda74e0a.js new file mode 100644 index 000000000..7ddde894a --- /dev/null +++ b/assets/js/ea88f2a1.fda74e0a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[525],{123:t=>{t.exports=JSON.parse('{"title":"Tutorial - Basics","description":"5 minutes to learn the most important Docusaurus concepts.","slug":"/category/tutorial---basics","permalink":"/docs/category/tutorial---basics","navigation":{"previous":{"title":"Tutorial Intro","permalink":"/docs/intro"},"next":{"title":"Create a Page","permalink":"/docs/tutorial-basics/create-a-page"}}}')}}]); \ No newline at end of file diff --git a/assets/js/f196f4a4.1a5f2321.js b/assets/js/f196f4a4.1a5f2321.js new file mode 100644 index 000000000..4e2ab3bca --- /dev/null +++ b/assets/js/f196f4a4.1a5f2321.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[70],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/f55d3e7a.bbfa9d5d.js b/assets/js/f55d3e7a.bbfa9d5d.js new file mode 100644 index 000000000..d14fb2149 --- /dev/null +++ b/assets/js/f55d3e7a.bbfa9d5d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[193],{6442:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>n,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=t(5893),o=t(1151);const i={sidebar_position:5},n="Deploy your site",a={id:"tutorial-basics/deploy-your-site",title:"Deploy your site",description:"Docusaurus is a static-site-generator (also called Jamstack).",source:"@site/docs/tutorial-basics/deploy-your-site.md",sourceDirName:"tutorial-basics",slug:"/tutorial-basics/deploy-your-site",permalink:"/docs/tutorial-basics/deploy-your-site",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/deploy-your-site.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Markdown Features",permalink:"/docs/tutorial-basics/markdown-features"},next:{title:"Congratulations!",permalink:"/docs/tutorial-basics/congratulations"}},l={},c=[{value:"Build your site",id:"build-your-site",level:2},{value:"Deploy your site",id:"deploy-your-site-1",level:2}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h1,{id:"deploy-your-site",children:"Deploy your site"}),"\n",(0,r.jsxs)(s.p,{children:["Docusaurus is a ",(0,r.jsx)(s.strong,{children:"static-site-generator"})," (also called ",(0,r.jsx)(s.strong,{children:(0,r.jsx)(s.a,{href:"https://jamstack.org/",children:"Jamstack"})}),")."]}),"\n",(0,r.jsxs)(s.p,{children:["It builds your site as simple ",(0,r.jsx)(s.strong,{children:"static HTML, JavaScript and CSS files"}),"."]}),"\n",(0,r.jsx)(s.h2,{id:"build-your-site",children:"Build your site"}),"\n",(0,r.jsxs)(s.p,{children:["Build your site ",(0,r.jsx)(s.strong,{children:"for production"}),":"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"npm run build\n"})}),"\n",(0,r.jsxs)(s.p,{children:["The static files are generated in the ",(0,r.jsx)(s.code,{children:"build"})," folder."]}),"\n",(0,r.jsx)(s.h2,{id:"deploy-your-site-1",children:"Deploy your site"}),"\n",(0,r.jsx)(s.p,{children:"Test your production build locally:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"npm run serve\n"})}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.code,{children:"build"})," folder is now served at ",(0,r.jsx)(s.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["You can now deploy the ",(0,r.jsx)(s.code,{children:"build"})," folder ",(0,r.jsx)(s.strong,{children:"almost anywhere"})," easily, ",(0,r.jsx)(s.strong,{children:"for free"})," or very small cost (read the ",(0,r.jsx)(s.strong,{children:(0,r.jsx)(s.a,{href:"https://docusaurus.io/docs/deployment",children:"Deployment Guide"})}),")."]})]})}function u(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>n});var r=t(7294);const o={},i=r.createContext(o);function n(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.ca5d58d1.js b/assets/js/main.ca5d58d1.js new file mode 100644 index 000000000..fbdac0159 --- /dev/null +++ b/assets/js/main.ca5d58d1.js @@ -0,0 +1,2 @@ +/*! For license information please see main.ca5d58d1.js.LICENSE.txt */ +(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(13)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"0e384e19":[()=>n.e(671).then(n.bind(n,7876)),"@site/docs/intro.md",7876],"14eb3368":[()=>Promise.all([n.e(532),n.e(817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],17896441:[()=>Promise.all([n.e(532),n.e(404),n.e(918)]).then(n.bind(n,5154)),"@theme/DocItem",5154],"18c41134":[()=>n.e(859).then(n.bind(n,7008)),"@site/docs/tutorial-basics/markdown-features.mdx",7008],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,6295)),"@site/src/pages/index.tsx",6295],"1e4232ab":[()=>n.e(818).then(n.bind(n,1194)),"@site/docs/tutorial-basics/create-a-document.md",1194],"1f391b9e":[()=>Promise.all([n.e(532),n.e(404),n.e(85)]).then(n.bind(n,4247)),"@theme/MDXPage",4247],"30a24c52":[()=>n.e(453).then(n.t.bind(n,8605,19)),"~blog/default/blog-tags-hello-039.json",8605],"393be207":[()=>n.e(414).then(n.bind(n,1181)),"@site/src/pages/markdown-page.md",1181],"4b1723f1":[()=>n.e(813).then(n.t.bind(n,856,19)),"~blog/default/blog-tags-lips-65f-list.json",856],"533a09ca":[()=>n.e(607).then(n.bind(n,7028)),"@site/docs/tutorial-basics/create-a-blog-post.md",7028],"5c868d36":[()=>n.e(589).then(n.bind(n,9775)),"@site/docs/tutorial-basics/create-a-page.md",9775],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],66406991:[()=>n.e(110).then(n.t.bind(n,711,19)),"~blog/default/blog-tags-hello-039-list.json",711],"6875c492":[()=>Promise.all([n.e(532),n.e(404),n.e(677),n.e(610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"7f5460c2":[()=>n.e(885).then(n.bind(n,2198)),"@site/blog/2024-02-10-welcome.md?truncated=true",2198],"814f3328":[()=>n.e(535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"822bd8ab":[()=>n.e(504).then(n.bind(n,957)),"@site/docs/tutorial-basics/congratulations.md",957],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9abc7bc7":[()=>n.e(460).then(n.t.bind(n,4469,19)),"/home/runner/work/lips/lips/docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"9e4087bc":[()=>n.e(608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(404),n.e(677),n.e(89)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7023ddc:[()=>n.e(713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],c36ecdcb:[()=>n.e(682).then(n.bind(n,9446)),"@site/blog/2024-02-10-welcome.md",9446],c71491fd:[()=>n.e(242).then(n.t.bind(n,3769,19)),"/home/runner/work/lips/lips/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],c844b82d:[()=>n.e(326).then(n.t.bind(n,5262,19)),"~docs/default/category-docs-tutorialsidebar-category-tutorial-extras-3e4.json",5262],ccc49370:[()=>Promise.all([n.e(532),n.e(404),n.e(677),n.e(103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],dff1c289:[()=>n.e(792).then(n.bind(n,4298)),"@site/docs/tutorial-extras/manage-docs-versions.md",4298],e44a2883:[()=>n.e(755).then(n.bind(n,897)),"@site/docs/tutorial-extras/translate-your-site.md",897],ea13dd3a:[()=>n.e(652).then(n.t.bind(n,166,19)),"~blog/default/blog-tags-lips-65f.json",166],ea88f2a1:[()=>n.e(525).then(n.t.bind(n,123,19)),"~docs/default/category-docs-tutorialsidebar-category-tutorial-basics-918.json",123],f196f4a4:[()=>n.e(70).then(n.t.bind(n,5745,19)),"/home/runner/work/lips/lips/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],f55d3e7a:[()=>n.e(193).then(n.bind(n,6442)),"@site/docs/tutorial-basics/deploy-your-site.md",6442]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/blog",component:d("/blog","b37"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","074"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","ede"),exact:!0},{path:"/blog/tags/hello",component:d("/blog/tags/hello","eda"),exact:!0},{path:"/blog/tags/lips",component:d("/blog/tags/lips","7e5"),exact:!0},{path:"/blog/welcome",component:d("/blog/welcome","2d7"),exact:!0},{path:"/markdown-page",component:d("/markdown-page","10a"),exact:!0},{path:"/docs",component:d("/docs","ed1"),routes:[{path:"/docs",component:d("/docs","40b"),routes:[{path:"/docs",component:d("/docs","292"),routes:[{path:"/docs/category/tutorial---basics",component:d("/docs/category/tutorial---basics","d44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/tutorial---extras",component:d("/docs/category/tutorial---extras","f09"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/intro",component:d("/docs/intro","aed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/congratulations",component:d("/docs/tutorial-basics/congratulations","793"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/create-a-blog-post",component:d("/docs/tutorial-basics/create-a-blog-post","68e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/create-a-document",component:d("/docs/tutorial-basics/create-a-document","c2d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/create-a-page",component:d("/docs/tutorial-basics/create-a-page","f44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/deploy-your-site",component:d("/docs/tutorial-basics/deploy-your-site","e46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-basics/markdown-features",component:d("/docs/tutorial-basics/markdown-features","4b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-extras/manage-docs-versions",component:d("/docs/tutorial-extras/manage-docs-versions","fdd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-extras/translate-your-site",component:d("/docs/tutorial-extras/translate-your-site","2d7"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","e36"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),g=n(2263),h=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,h.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function _(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(b.d,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),A=n(8940),N=n(469);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,g.Z)();return(0,p.jsx)(p.Fragment,{children:!l.Z.canUseDOM&&(0,p.jsx)(m.Z,{children:(0,p.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?(0,p.jsx)($,{}):null}function q(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,g.Z)(),o=(0,h.Z)(e),{htmlLang:i,direction:l}=a[r];return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("html",{lang:i,dir:l}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:o})]})}var H=n(4763),Z=n(2389);function G(){const e=(0,Z.Z)();return(0,p.jsx)(m.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function V(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return(0,p.jsx)(H.Z,{children:(0,p.jsx)(A.M,{children:(0,p.jsxs)(L.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(q,{}),(0,p.jsx)(_,{}),(0,p.jsx)(U,{}),(0,p.jsx)(I,{location:j(t),children:e})]}),(0,p.jsx)(G,{})]})})})}var W=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(o.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"intro","path":"/docs/intro","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/congratulations","path":"/docs/tutorial-basics/congratulations","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-blog-post","path":"/docs/tutorial-basics/create-a-blog-post","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-document","path":"/docs/tutorial-basics/create-a-document","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-page","path":"/docs/tutorial-basics/create-a-page","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/deploy-your-site","path":"/docs/tutorial-basics/deploy-your-site","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/markdown-features","path":"/docs/tutorial-basics/markdown-features","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/manage-docs-versions","path":"/docs/tutorial-extras/manage-docs-versions","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/translate-your-site","path":"/docs/tutorial-extras/translate-your-site","sidebar":"tutorialSidebar"},{"id":"/category/tutorial---basics","path":"/docs/category/tutorial---basics","sidebar":"tutorialSidebar"},{"id":"/category/tutorial---extras","path":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"}}}');var u=n(5893);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(6040),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),u=n(8138),c=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,c.C)(),x=(0,u.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.Z)(E),_=E?.replace("pathname://","");let T=void 0!==_?(j=_,y&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&C&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const L=(0,r.useRef)(!1),A=n?a.OL:a.rU,N=s.Z.canUseIntersectionObserver,R=(0,r.useRef)(),P=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,r.useEffect)((()=>(!N&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&R.current&&R.current.disconnect()})),[R,T,N,C]);const O=T?.startsWith("#")??!1,D=!T||!C||O;return D||h||x.collectLink(T),D?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(A,{...b,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,N&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),R.current.observe(e))},to:T,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,gA:()=>p,_r:()=>c,Jo:()=>h,zh:()=>d,yW:()=>m,gB:()=>f});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),l=n(8138);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(5893);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:p}}=(0,o.L)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.Z)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ft});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),u=n(5936),c=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(5281),y=n(9727);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(_,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var L=n(2961),A=n(2466);var N=n(902),R=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,R.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,R.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=I();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var V=n(1327);function W(){return(0,c.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,L.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(W,{}),(0,c.jsx)(G,{className:"margin-right--md"}),(0,c.jsx)(Q,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.Z)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,m&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(K.Z,{href:s?f:a,...u,...g}):(0,c.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(4711);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var ye=n(1875);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),g=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:m}=(0,xe.J)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,ke.lO)(n)[0],y=t&&g.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,b=t&&g.length>1?void 0:Se(h).path;return g.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function _e(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function je(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(_e,{}),secondaryMenu:(0,c.jsx)(je,{})}):null}const Ae={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ne(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-o.current,u=window.innerHeight;l&&i>=l?n(!1):i+u<s&&n(!0)})),(0,u.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ae.navbarHideable,!d&&Ae.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Ne,{onClick:i.toggle}),(0,c.jsx)(Le,{})]})}var Pe=n(8780);const Oe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Fe extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,L.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(Ce,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(qe,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(W,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(G,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function Ze(){return(0,c.jsx)(Re,{children:(0,c.jsx)(He,{})})}function Ge(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function Ve(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ge,{item:t})},t.href??t.to)}function We(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(Ve,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(We,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ge,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ke,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Qe,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,N.Qc)([M.S,k.pl,A.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(R.n2,{children:(0,c.jsx)(L.M,{children:(0,c.jsx)(O,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(2503);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(j,{}),(0,c.jsx)(Ze,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,a.Z)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:g,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.Z.canUseDOM)return e?c:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(g,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>m});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12),c=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668),c=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>T,LM:()=>m,_F:()=>b,cE:()=>p,jA:()=>g,xz:()=>f,SN:()=>_,lO:()=>S,vY:()=>C,oz:()=>E,s1:()=>x,f:()=>w});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,a.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function x(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.Z)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>u,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>f,PP:()=>j,Ep:()=>p});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),u=l||s;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var y="popstate",b="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,l.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,u=i.forceRefresh,w=void 0!==u&&u,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,E=void 0===S?6:S,C=e.basename?d(s(e.basename)):"";function _(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return C&&(o=c(o,C)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var j=m();function L(e){(0,r.Z)($,e),$.length=n.length,j.notifyListeners($.location,$.action)}function A(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(_(e.state))}function N(){P(_(v()))}var R=!1;function P(e){if(R)R=!1,L();else{j.confirmTransitionTo(e,"POP",x,(function(t){t?L({action:"POP",location:e}):function(e){var t=$.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(R=!0,F(a))}(e)}))}}var O=_(v()),D=[O.key];function I(e){return C+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(y,A),o&&window.addEventListener(b,N)):0===M&&(window.removeEventListener(y,A),o&&window.removeEventListener(b,N))}var B=!1;var $={length:n.length,action:"POP",location:O,createHref:I,push:function(e,t){var r="PUSH",o=f(e,t,T(),$.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=D.indexOf($.location.key),u=D.slice(0,s+1);u.push(o.key),D=u,L({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),$.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=D.indexOf($.location.key);-1!==s&&(D[s]=o.key),L({action:r,location:o})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=j.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(S(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),g||(0,l.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,u=void 0===i?"slash":i,y=e.basename?d(s(e.basename)):"",b=x[u],v=b.encodePath,w=b.decodePath;function _(){var e=w(E());return y&&(e=c(e,y)),f(e)}var T=m();function j(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var L=!1,A=null;function N(){var e,t,n=E(),r=v(n);if(n!==r)C(r);else{var a=_(),i=B.location;if(!L&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(A===p(a))return;A=null,function(e){if(L)L=!1,j();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?j({action:t,location:e}):function(e){var t=B.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(L=!0,I(a))}(e)}))}}(a)}}var R=E(),P=v(R);R!==P&&C(P);var O=_(),D=[p(O)];function I(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(k,N):0===F&&window.removeEventListener(k,N)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(y+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(y+t);if(E()!==a){A=t,function(e){window.location.hash=e}(a);var o=D.lastIndexOf(p(B.location)),i=D.slice(0,o+1);i.push(t),D=i,j({action:n,location:r})}else j()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(y+t);E()!==a&&(A=t,C(a));var o=D.indexOf(p(B.location));-1!==o&&(D[o]=t),j({action:n,location:r})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function j(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,l=void 0===i?0:i,s=t.keyLength,u=void 0===s?6:s,c=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function g(){return Math.random().toString(36).substr(2,u)}var h=T(l,0,o.length-1),y=o.map((function(e){return f(e,void 0,"string"==typeof e?g():e.key||g())})),b=p;function v(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:y.length,action:"POP",location:y[h],index:h,entries:y,createHref:b,push:function(e,t){var r="PUSH",a=f(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h<i.length;++h){var y=i[h];if(!(o[y]||r&&r[y]||g&&g[y]||l&&l[y])){var b=p(n,y);try{u(t,y,b)}catch(v){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var m=e[i],g=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,C=y||b;r.push({name:h||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:C?u(C):w?".*":"[^"+s(E)+"]+?"})}}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",l=t||{},s=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,p=l[c.name];if(null==p){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(p)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=s(p[f]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(p),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",l=0;l<e.length;l++){var u=e[l];if("string"==typeof u)i+=s(u);else{var p=s(u.prefix),f="(?:"+u.pattern+")";t.push(u),u.repeat&&(f+="(?:"+p+f+")*"),i+=f=u.optional?u.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=s(n.delimiter||"/"),g=i.slice(-m.length)===m;return a||(i=(g?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&g?"":"(?="+m+"|$)",c(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(a>=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;a(m);){for(var g in p={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,l={};function s(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function v(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),R=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var I,F=Object.assign;function M(e){if(void 0===I)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);I=t&&t[1]||""}return"\n"+I+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"==typeof u.stack){for(var a=u.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,l=o.length-1;1<=i&&0<=l&&a[i]!==o[l];)l--;for(;1<=i&&0<=l;i--,l--)if(a[i]!==o[l]){if(1!==i||1!==l)do{if(i--,0>--l||a[i]!==o[l]){var s="\n"+a[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case C:return"Profiler";case E:return"StrictMode";case L:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case N:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Z(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=Z(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function V(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Z(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ue,ce,de=(ce=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ue=ue||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ce(e,t)}))}:ce);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ye=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function Ce(e){if(e=va(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function _e(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function je(e,t){return e(t)}function Le(){}var Ae=!1;function Ne(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return je(e,t,n)}finally{Ae=!1,(null!==Se||null!==Ee)&&(Le(),Te())}}function Re(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Pe=!1;if(c)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ce){Pe=!1}function De(e,t,n,r,a,o,i,l,s){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Ie=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){Ie=!0,Fe=e}};function $e(e,t,n,r,a,o,i,l,s){Ie=!1,Fe=null,De.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(o(188))}function Ze(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return He(a),e;if(i===r)return He(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=i;break}if(s===r){l=!0,r=a,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=a;break}if(s===r){l=!0,r=i,n=a;break}s=s.sibling}if(!l)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var Ve=a.unstable_scheduleCallback,We=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ye=a.unstable_requestPaint,Ke=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ut=64,ct=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~a;0!==l?r=dt(l):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&0!=(4194240&o)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ut;return 0==(4194240&(ut<<=1))&&(ut=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,Et,Ct,_t=!1,Tt=[],jt=null,Lt=null,At=null,Nt=new Map,Rt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":jt=null;break;case"dragenter":case"dragleave":Lt=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Nt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rt.delete(t.pointerId)}}function It(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=va(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=ba(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void Ct(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=va(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){_t=!1,null!==jt&&Mt(jt)&&(jt=null),null!==Lt&&Mt(Lt)&&(Lt=null),null!==At&&Mt(At)&&(At=null),Nt.forEach(zt),Rt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,_t||(_t=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<Tt.length){$t(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==jt&&$t(jt,e),null!==Lt&&$t(Lt,e),null!==At&&$t(At,e),Nt.forEach(t),Rt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Pt.shift()}var qt=w.ReactCurrentBatchConfig,Ht=!0;function Zt(e,t,n,r){var a=vt,o=qt.transition;qt.transition=null;try{vt=1,Vt(e,t,n,r)}finally{vt=a,qt.transition=o}}function Gt(e,t,n,r){var a=vt,o=qt.transition;qt.transition=null;try{vt=4,Vt(e,t,n,r)}finally{vt=a,qt.transition=o}}function Vt(e,t,n,r){if(Ht){var a=Qt(e,t,n,r);if(null===a)Hr(e,t,r,Wt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return jt=It(jt,e,t,n,r,a),!0;case"dragenter":return Lt=It(Lt,e,t,n,r,a),!0;case"mouseover":return At=It(At,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return Nt.set(o,It(Nt.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Rt.set(o,It(Rt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==a;){var o=va(a);if(null!==o&&kt(o),null===(o=Qt(e,t,n,r))&&Hr(e,t,r,Wt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Wt=null;function Qt(e,t,n,r){if(Wt=null,null!==(e=ba(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Kt?Kt.value:Kt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,ln,sn,un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cn=an(un),dn=F({},un,{view:0,detail:0}),pn=an(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(on=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=on=0,sn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),mn=an(fn),gn=an(F({},fn,{dataTransfer:0})),hn=an(F({},dn,{relatedTarget:0})),yn=an(F({},un,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=F({},un,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=an(bn),wn=an(F({},un,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function Cn(){return En}var _n=F({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(_n),jn=an(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ln=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),An=an(F({},un,{propertyName:0,elapsedTime:0,pseudoElement:0})),Nn=F({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=an(Nn),Pn=[9,13,27,32],On=c&&"CompositionEvent"in window,Dn=null;c&&"documentMode"in document&&(Dn=document.documentMode);var In=c&&"TextEvent"in window&&!Dn,Fn=c&&(!On||Dn&&8<Dn&&11>=Dn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var qn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qn[e.type]:"textarea"===t}function Zn(e,t,n,r){_e(r),0<(t=Gr(t,"onChange")).length&&(n=new cn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Vn=null;function Wn(e){Mr(e,0)}function Qn(e){if(V(wa(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(c){var Xn;if(c){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Vn=Gn=null)}function nr(e){if("value"===e.propertyName&&Qn(Vn)){var t=[];Zn(t,Vn,e,ke(e)),Ne(Wn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Vn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Vn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!lr(e[a],t[a]))return!1}return!0}function ur(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cr(e,t){var n,r=ur(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ur(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=cr(n,o);var i=cr(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=c&&"documentMode"in document&&11>=document.documentMode,hr=null,yr=null,br=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==hr||hr!==W(r)||("selectionStart"in(r=hr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&sr(br,r)||(br=r,0<(r=Gr(yr,"onSelect")).length&&(t=new cn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function Cr(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}c&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var _r=Cr("animationend"),Tr=Cr("animationiteration"),jr=Cr("animationstart"),Lr=Cr("transitionend"),Ar=new Map,Nr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Rr(e,t){Ar.set(e,t),s(t,[e])}for(var Pr=0;Pr<Nr.length;Pr++){var Or=Nr[Pr];Rr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Rr(_r,"onAnimationEnd"),Rr(Tr,"onAnimationIteration"),Rr(jr,"onAnimationStart"),Rr("dblclick","onDoubleClick"),Rr("focusin","onFocus"),Rr("focusout","onBlur"),Rr(Lr,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ir=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,l,s,u){if($e.apply(this,arguments),Ie){if(!Ie)throw Error(o(198));var c=Fe;Ie=!1,Fe=null,Me||(Me=!0,ze=c)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||(qr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Ir.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function qr(e,t,n,r){switch(Yt(t)){case 1:var a=Zt;break;case 4:a=Gt;break;default:a=Vt}n=a.bind(null,t,n,e),a=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;i=i.return}for(;null!==l;){if(null===(i=ba(l)))return;if(5===(s=i.tag)||6===s){r=o=i;continue e}l=l.parentNode}}r=r.return}Ne((function(){var r=o,a=ke(n),i=[];e:{var l=Ar.get(e);if(void 0!==l){var s=cn,u=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Tn;break;case"focusin":u="focus",s=hn;break;case"focusout":u="blur",s=hn;break;case"beforeblur":case"afterblur":s=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=Ln;break;case _r:case Tr:case jr:s=yn;break;case Lr:s=An;break;case"scroll":s=pn;break;case"wheel":s=Rn;break;case"copy":case"cut":case"paste":s=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=jn}var c=0!=(4&t),d=!c&&"scroll"===e,p=c?null!==l?l+"Capture":null:l;c=[];for(var f,m=r;null!==m;){var g=(f=m).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==p&&(null!=(g=Re(m,p))&&c.push(Zr(m,g,f)))),d)break;m=m.return}0<c.length&&(l=new s(l,u,null,n,a),i.push({event:l,listeners:c}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(u=n.relatedTarget||n.fromElement)||!ba(u)&&!u[ma])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(u=(u=n.relatedTarget||n.toElement)?ba(u):null)&&(u!==(d=Ue(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=mn,g="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=jn,g="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:wa(s),f=null==u?l:wa(u),(l=new c(g,m+"leave",s,n,a)).target=d,l.relatedTarget=f,g=null,ba(a)===r&&((c=new c(p,m+"enter",u,n,a)).target=f,c.relatedTarget=d,g=c),d=g,s&&u)e:{for(p=u,m=0,f=c=s;f;f=Vr(f))m++;for(f=0,g=p;g;g=Vr(g))f++;for(;0<m-f;)c=Vr(c),m--;for(;0<f-m;)p=Vr(p),f--;for(;m--;){if(c===p||null!==p&&c===p.alternate)break e;c=Vr(c),p=Vr(p)}c=null}else c=null;null!==s&&Wr(i,l,s,c,!1),null!==u&&null!==d&&Wr(i,d,u,c,!0)}if("select"===(s=(l=r?wa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var h=Yn;else if(Hn(l))if(Kn)h=ir;else{h=ar;var y=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(h=or);switch(h&&(h=h(e,r))?Zn(i,h,n,a):(y&&y(e,l,r),"focusout"===e&&(y=l._wrapperState)&&y.controlled&&"number"===l.type&&ee(l,"number",l.value)),y=r?wa(r):window,e){case"focusin":(Hn(y)||"true"===y.contentEditable)&&(hr=y,yr=r,br=null);break;case"focusout":br=yr=hr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(i,n,a)}var b;if(On)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(b=en()):(Xt="value"in(Kt=a)?Kt.value:Kt.textContent,Un=!0)),0<(y=Gr(r,v)).length&&(v=new wn(v,e,null,n,a),i.push({event:v,listeners:y}),b?v.data=b:null!==(b=$n(n))&&(v.data=b))),(b=In?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=b))}Mr(i,t)}))}function Zr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Re(e,n))&&r.unshift(Zr(e,o,a)),null!=(o=Re(e,t))&&r.push(Zr(e,o,a))),e=e.return}return r}function Vr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==u&&(l=u,a?null!=(s=Re(n,o))&&i.unshift(Zr(n,s,l)):a||null!=(s=Re(n,o))&&i.push(Zr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(la)}:ra;function la(e){setTimeout((function(){throw e}))}function sa(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Ut(t)}function ua(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ca(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ya="__reactHandles$"+da;function ba(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ca(e);null!==e;){if(n=e[pa])return n;e=ca(e)}return t}n=(e=n).parentNode}return null}function va(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[fa]||null}var xa=[],Sa=-1;function Ea(e){return{current:e}}function Ca(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function _a(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},ja=Ea(Ta),La=Ea(!1),Aa=Ta;function Na(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ra(e){return null!=(e=e.childContextTypes)}function Pa(){Ca(La),Ca(ja)}function Oa(e,t,n){if(ja.current!==Ta)throw Error(o(168));_a(ja,t),_a(La,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,q(e)||"Unknown",a));return F({},n,r)}function Ia(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,Aa=ja.current,_a(ja,e),_a(La,La.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Da(e,t,Aa),r.__reactInternalMemoizedMergedChildContext=e,Ca(La),Ca(ja),_a(ja,e)):Ca(La),_a(La,n)}var Ma=null,za=!1,Ba=!1;function $a(e){null===Ma?Ma=[e]:Ma.push(e)}function Ua(){if(!Ba&&null!==Ma){Ba=!0;var e=0,t=vt;try{var n=Ma;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ma=null,za=!1}catch(a){throw null!==Ma&&(Ma=Ma.slice(e+1)),Ve(Je,Ua),a}finally{vt=t,Ba=!1}}return null}var qa=[],Ha=0,Za=null,Ga=0,Va=[],Wa=0,Qa=null,Ya=1,Ka="";function Xa(e,t){qa[Ha++]=Ga,qa[Ha++]=Za,Za=e,Ga=t}function Ja(e,t,n){Va[Wa++]=Ya,Va[Wa++]=Ka,Va[Wa++]=Qa,Qa=e;var r=Ya;e=Ka;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ya=1<<32-it(t)+a|n<<a|r,Ka=o+e}else Ya=1<<o|n<<a|r,Ka=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Za;)Za=qa[--Ha],qa[Ha]=null,Ga=qa[--Ha],qa[Ha]=null;for(;e===Qa;)Qa=Va[--Wa],Va[Wa]=null,Ka=Va[--Wa],Va[Wa]=null,Ya=Va[--Wa],Va[Wa]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Ru(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function lo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ua(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ya,overflow:Ka}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ru(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function so(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function uo(e){if(ao){var t=ro;if(t){var n=t;if(!lo(e,t)){if(so(e))throw Error(o(418));t=ua(n.nextSibling);var r=no;t&&lo(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(so(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function co(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ao)return co(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(so(e))throw fo(),Error(o(418));for(;t;)io(e,t),t=ua(t.nextSibling)}if(co(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ua(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ua(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ua(e.nextSibling)}function mo(){ro=no=null,ao=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var ho=w.ReactCurrentBatchConfig;function yo(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var bo=Ea(null),vo=null,wo=null,ko=null;function xo(){ko=wo=vo=null}function So(e){var t=bo.current;Ca(bo),e._currentValue=t}function Eo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Co(e,t){vo=e,ko=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wl=!0),e.firstContext=null)}function _o(e){var t=e._currentValue;if(ko!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===vo)throw Error(o(308));wo=e,vo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function jo(e){null===To?To=[e]:To.push(e)}function Lo(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,jo(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ao(e,r)}function Ao(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var No=!1;function Ro(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Po(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Oo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Do(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&Ls)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ao(e,n)}return null===(a=r.interleaved)?(t.next=t,jo(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ao(e,n)}function Io(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Mo(e,t,n,r){var a=e.updateQueue;No=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?o=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,c=u=s=null,l=o;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==c&&(c=c.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,g=l;switch(p=t,f=n,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=g.payload)?m.call(f,d,p):m))break e;d=F({},d,p);break e;case 2:No=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=f,s=d):c=c.next=f,i|=p;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Fs|=i,e.lanes=i,e.memoizedState=d}}function zo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Bo=(new r.Component).refs;function $o(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Uo={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=Oo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(ru(t,e,a,r),Io(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=Oo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(ru(t,e,a,r),Io(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tu(),r=nu(e),a=Oo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Do(e,a,r))&&(ru(t,e,r,n),Io(t,e,r))}};function qo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function Ho(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=_o(o):(a=Ra(t)?Aa:ja.current,o=(r=null!=(r=t.contextTypes))?Na(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Uo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function Zo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Uo.enqueueReplaceState(t,t.state,null)}function Go(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bo,Ro(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=_o(o):(o=Ra(t)?Aa:ja.current,a.context=Na(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&($o(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Uo.enqueueReplaceState(a,a.state,null),Mo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Vo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;t===Bo&&(t=a.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Wo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qo(e){return(0,e._init)(e._payload)}function Yo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ou(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mu(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===R&&Qo(o)===t.type)?((r=a(t,n.props)).ref=Vo(e,t,n),r.return=e,r):((r=Du(n.type,n.key,n.props,null,e.mode,r)).ref=Vo(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zu(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Iu(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Du(t.type,t.key,t.props,null,e.mode,n)).ref=Vo(e,null,t),n.return=e,n;case x:return(t=zu(t,e.mode,n)).return=e,t;case R:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Iu(t,e.mode,n,null)).return=e,t;Wo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?u(e,t,n,r):null;case x:return n.key===a?c(e,t,n,r):null;case R:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);Wo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case R:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);Wo(t,r)}return null}function g(a,o,l,s){for(var u=null,c=null,d=o,g=o=0,h=null;null!==d&&g<l.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var y=f(a,d,l[g],s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&t(a,d),o=i(y,o,g),null===c?u=y:c.sibling=y,c=y,d=h}if(g===l.length)return n(a,d),ao&&Xa(a,g),u;if(null===d){for(;g<l.length;g++)null!==(d=p(a,l[g],s))&&(o=i(d,o,g),null===c?u=d:c.sibling=d,c=d);return ao&&Xa(a,g),u}for(d=r(a,d);g<l.length;g++)null!==(h=m(d,a,g,l[g],s))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),o=i(h,o,g),null===c?u=h:c.sibling=h,c=h);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,g),u}function h(a,l,s,u){var c=D(s);if("function"!=typeof c)throw Error(o(150));if(null==(s=c.call(s)))throw Error(o(151));for(var d=c=null,g=l,h=l=0,y=null,b=s.next();null!==g&&!b.done;h++,b=s.next()){g.index>h?(y=g,g=null):y=g.sibling;var v=f(a,g,b.value,u);if(null===v){null===g&&(g=y);break}e&&g&&null===v.alternate&&t(a,g),l=i(v,l,h),null===d?c=v:d.sibling=v,d=v,g=y}if(b.done)return n(a,g),ao&&Xa(a,h),c;if(null===g){for(;!b.done;h++,b=s.next())null!==(b=p(a,b.value,u))&&(l=i(b,l,h),null===d?c=b:d.sibling=b,d=b);return ao&&Xa(a,h),c}for(g=r(a,g);!b.done;h++,b=s.next())null!==(b=m(g,a,h,b.value,u))&&(e&&null!==b.alternate&&g.delete(null===b.key?h:b.key),l=i(b,l,h),null===d?c=b:d.sibling=b,d=b);return e&&g.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),c}return function e(r,o,i,s){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var u=i.key,c=o;null!==c;){if(c.key===u){if((u=i.type)===S){if(7===c.tag){n(r,c.sibling),(o=a(c,i.props.children)).return=r,r=o;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===R&&Qo(u)===c.type){n(r,c.sibling),(o=a(c,i.props)).ref=Vo(r,c,i),o.return=r,r=o;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===S?((o=Iu(i.props.children,r.mode,s,i.key)).return=r,r=o):((s=Du(i.type,i.key,i.props,null,r.mode,s)).ref=Vo(r,o,i),s.return=r,r=s)}return l(r);case x:e:{for(c=i.key;null!==o;){if(o.key===c){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zu(i,r.mode,s)).return=r,r=o}return l(r);case R:return e(r,o,(c=i._init)(i._payload),s)}if(te(i))return g(r,o,i,s);if(D(i))return h(r,o,i,s);Wo(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Mu(i,r.mode,s)).return=r,r=o),l(r)):n(r,o)}}var Ko=Yo(!0),Xo=Yo(!1),Jo={},ei=Ea(Jo),ti=Ea(Jo),ni=Ea(Jo);function ri(e){if(e===Jo)throw Error(o(174));return e}function ai(e,t){switch(_a(ni,t),_a(ti,e),_a(ei,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ca(ei),_a(ei,t)}function oi(){Ca(ei),Ca(ti),Ca(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=se(t,e.type);t!==n&&(_a(ti,e),_a(ei,n))}function li(e){ti.current===e&&(Ca(ei),Ca(ti))}var si=Ea(0);function ui(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ci=[];function di(){for(var e=0;e<ci.length;e++)ci[e]._workInProgressVersionPrimary=null;ci.length=0}var pi=w.ReactCurrentDispatcher,fi=w.ReactCurrentBatchConfig,mi=0,gi=null,hi=null,yi=null,bi=!1,vi=!1,wi=0,ki=0;function xi(){throw Error(o(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function Ei(e,t,n,r,a,i){if(mi=i,gi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pi.current=null===e||null===e.memoizedState?ll:sl,e=n(r,a),vi){i=0;do{if(vi=!1,wi=0,25<=i)throw Error(o(301));i+=1,yi=hi=null,t.updateQueue=null,pi.current=ul,e=n(r,a)}while(vi)}if(pi.current=il,t=null!==hi&&null!==hi.next,mi=0,yi=hi=gi=null,bi=!1,t)throw Error(o(300));return e}function Ci(){var e=0!==wi;return wi=0,e}function _i(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===yi?gi.memoizedState=yi=e:yi=yi.next=e,yi}function Ti(){if(null===hi){var e=gi.alternate;e=null!==e?e.memoizedState:null}else e=hi.next;var t=null===yi?gi.memoizedState:yi.next;if(null!==t)yi=t,hi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(hi=e).memoizedState,baseState:hi.baseState,baseQueue:hi.baseQueue,queue:hi.queue,next:null},null===yi?gi.memoizedState=yi=e:yi=yi.next=e}return yi}function ji(e,t){return"function"==typeof t?t(e):t}function Li(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=hi,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var l=a.next;a.next=i.next,i.next=l}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var s=l=null,u=null,c=i;do{var d=c.lane;if((mi&d)===d)null!==u&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var p={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};null===u?(s=u=p,l=r):u=u.next=p,gi.lanes|=d,Fs|=d}c=c.next}while(null!==c&&c!==i);null===u?l=r:u.next=s,lr(r,t.memoizedState)||(wl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,gi.lanes|=i,Fs|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ai(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{i=e(i,l.action),l=l.next}while(l!==a);lr(i,t.memoizedState)||(wl=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Ni(){}function Ri(e,t){var n=gi,r=Ti(),a=t(),i=!lr(r.memoizedState,a);if(i&&(r.memoizedState=a,wl=!0),r=r.queue,Hi(Di.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==yi&&1&yi.memoizedState.tag){if(n.flags|=2048,zi(9,Oi.bind(null,n,r,a,t),void 0,null),null===As)throw Error(o(349));0!=(30&mi)||Pi(n,t,a)}return a}function Pi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Ii(t)&&Fi(e)}function Di(e,t,n){return n((function(){Ii(t)&&Fi(e)}))}function Ii(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Fi(e){var t=Ao(e,1);null!==t&&ru(t,e,1,-1)}function Mi(e){var t=_i();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ji,lastRenderedState:e},t.queue=e,e=e.dispatch=nl.bind(null,gi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function $i(e,t,n,r){var a=_i();gi.flags|=e,a.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function Ui(e,t,n,r){var a=Ti();r=void 0===r?null:r;var o=void 0;if(null!==hi){var i=hi.memoizedState;if(o=i.destroy,null!==r&&Si(r,i.deps))return void(a.memoizedState=zi(t,n,o,r))}gi.flags|=e,a.memoizedState=zi(1|t,n,o,r)}function qi(e,t){return $i(8390656,8,e,t)}function Hi(e,t){return Ui(2048,8,e,t)}function Zi(e,t){return Ui(4,2,e,t)}function Gi(e,t){return Ui(4,4,e,t)}function Vi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Wi(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4,4,Vi.bind(null,t,e),n)}function Qi(){}function Yi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&mi)?(e.baseState&&(e.baseState=!1,wl=!0),e.memoizedState=n):(lr(n,t)||(n=gt(),gi.lanes|=n,Fs|=n,e.baseState=!0),t)}function Ji(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=fi.transition;fi.transition={};try{e(!1),t()}finally{vt=n,fi.transition=r}}function el(){return Ti().memoizedState}function tl(e,t,n){var r=nu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rl(e))al(t,n);else if(null!==(n=Lo(e,t,n,r))){ru(n,e,r,tu()),ol(n,t,r)}}function nl(e,t,n){var r=nu(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rl(e))al(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=o(i,n);if(a.hasEagerState=!0,a.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(a.next=a,jo(t)):(a.next=s.next,s.next=a),void(t.interleaved=a)}}catch(u){}null!==(n=Lo(e,t,a,r))&&(ru(n,e,r,a=tu()),ol(n,t,r))}}function rl(e){var t=e.alternate;return e===gi||null!==t&&t===gi}function al(e,t){vi=bi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ol(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var il={readContext:_o,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ll={readContext:_o,useCallback:function(e,t){return _i().memoizedState=[e,void 0===t?null:t],e},useContext:_o,useEffect:qi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,$i(4194308,4,Vi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $i(4194308,4,e,t)},useInsertionEffect:function(e,t){return $i(4,2,e,t)},useMemo:function(e,t){var n=_i();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=_i();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=tl.bind(null,gi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},_i().memoizedState=e},useState:Mi,useDebugValue:Qi,useDeferredValue:function(e){return _i().memoizedState=e},useTransition:function(){var e=Mi(!1),t=e[0];return e=Ji.bind(null,e[1]),_i().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=gi,a=_i();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===As)throw Error(o(349));0!=(30&mi)||Pi(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,qi(Di.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=_i(),t=As.identifierPrefix;if(ao){var n=Ka;t=":"+t+"R"+(n=(Ya&~(1<<32-it(Ya)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sl={readContext:_o,useCallback:Yi,useContext:_o,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Li,useRef:Bi,useState:function(){return Li(ji)},useDebugValue:Qi,useDeferredValue:function(e){return Xi(Ti(),hi.memoizedState,e)},useTransition:function(){return[Li(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1},ul={readContext:_o,useCallback:Yi,useContext:_o,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Ai,useRef:Bi,useState:function(){return Ai(ji)},useDebugValue:Qi,useDeferredValue:function(e){var t=Ti();return null===hi?t.memoizedState=e:Xi(t,hi.memoizedState,e)},useTransition:function(){return[Ai(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1};function cl(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function dl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fl="function"==typeof WeakMap?WeakMap:Map;function ml(e,t,n){(n=Oo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Zs||(Zs=!0,Gs=r),pl(0,t)},n}function gl(e,t,n){(n=Oo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){pl(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){pl(0,t),"function"!=typeof r&&(null===Vs?Vs=new Set([this]):Vs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=_u.bind(null,e,t,n),t.then(e,e))}function yl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bl(e,t,n,r,a){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Oo(-1,1)).tag=2,Do(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var vl=w.ReactCurrentOwner,wl=!1;function kl(e,t,n,r){t.child=null===e?Xo(t,null,n,r):Ko(t,e.child,n,r)}function xl(e,t,n,r,a){n=n.render;var o=t.ref;return Co(t,a),r=Ei(e,t,n,r,o,a),n=Ci(),null===e||wl?(ao&&n&&eo(t),t.flags|=1,kl(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zl(e,t,a))}function Sl(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Pu(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Du(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,El(e,t,o,r,a))}if(o=e.child,0==(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Zl(e,t,a)}return t.flags|=1,(e=Ou(o,r)).ref=t.ref,e.return=t,t.child=e}function El(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(sr(o,r)&&e.ref===t.ref){if(wl=!1,t.pendingProps=r=o,0==(e.lanes&a))return t.lanes=e.lanes,Zl(e,t,a);0!=(131072&e.flags)&&(wl=!0)}}return Tl(e,t,n,r,a)}function Cl(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},_a(Os,Ps),Ps|=n;else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,_a(Os,Ps),Ps|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,_a(Os,Ps),Ps|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,_a(Os,Ps),Ps|=r;return kl(e,t,a,n),t.child}function _l(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,n,r,a){var o=Ra(n)?Aa:ja.current;return o=Na(t,o),Co(t,a),n=Ei(e,t,n,r,o,a),r=Ci(),null===e||wl?(ao&&r&&eo(t),t.flags|=1,kl(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zl(e,t,a))}function jl(e,t,n,r,a){if(Ra(n)){var o=!0;Ia(t)}else o=!1;if(Co(t,a),null===t.stateNode)Hl(e,t),Ho(t,n,r),Go(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=_o(u):u=Na(t,u=Ra(n)?Aa:ja.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==u)&&Zo(t,i,r,u),No=!1;var p=t.memoizedState;i.state=p,Mo(t,r,i,a),s=t.memoizedState,l!==r||p!==s||La.current||No?("function"==typeof c&&($o(t,n,c,r),s=t.memoizedState),(l=No||qo(t,n,l,r,p,s,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Po(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:yo(t.type,l),i.props=u,d=t.pendingProps,p=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=_o(s):s=Na(t,s=Ra(n)?Aa:ja.current);var f=n.getDerivedStateFromProps;(c="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||p!==s)&&Zo(t,i,r,s),No=!1,p=t.memoizedState,i.state=p,Mo(t,r,i,a);var m=t.memoizedState;l!==d||p!==m||La.current||No?("function"==typeof f&&($o(t,n,f,r),m=t.memoizedState),(u=No||qo(t,n,u,r,p,m,s)||!1)?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=s,r=u):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Ll(e,t,n,r,o,a)}function Ll(e,t,n,r,a,o){_l(e,t);var i=0!=(128&t.flags);if(!r&&!i)return a&&Fa(t,n,!1),Zl(e,t,o);r=t.stateNode,vl.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Ko(t,e.child,null,o),t.child=Ko(t,null,l,o)):kl(e,t,l,o),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Al(e){var t=e.stateNode;t.pendingContext?Oa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Oa(0,t.context,!1),ai(e,t.containerInfo)}function Nl(e,t,n,r,a){return mo(),go(a),t.flags|=256,kl(e,t,n,r),t.child}var Rl,Pl,Ol,Dl,Il={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,a=t.pendingProps,i=si.current,l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),_a(si,1&i),null===e)return uo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=a.children,e=a.fallback,l?(a=t.mode,l=t.child,s={mode:"hidden",children:s},0==(1&a)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Fu(s,a,0,null),e=Iu(e,a,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fl(n),t.memoizedState=Il,e):zl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=dl(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Fu({mode:"visible",children:r.children},a,0,null),(i=Iu(i,a,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Ko(t,e.child,null,l),t.child.memoizedState=Fl(l),t.memoizedState=Il,i);if(0==(1&t.mode))return Bl(e,t,l,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=dl(i=Error(o(419)),r,void 0))}if(s=0!=(l&e.childLanes),wl||s){if(null!==(r=As)){switch(l&-l){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!=(a&(r.suspendedLanes|l))?0:a)&&a!==i.retryLane&&(i.retryLane=a,Ao(e,a),ru(r,e,a,-1))}return hu(),Bl(e,t,l,r=dl(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=ju.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ua(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(Va[Wa++]=Ya,Va[Wa++]=Ka,Va[Wa++]=Qa,Ya=e.id,Ka=e.overflow,Qa=t),t=zl(t,r.children),t.flags|=4096,t)}(e,t,s,a,r,i,n);if(l){l=a.fallback,s=t.mode,r=(i=e.child).sibling;var u={mode:"hidden",children:a.children};return 0==(1&s)&&t.child!==i?((a=t.child).childLanes=0,a.pendingProps=u,t.deletions=null):(a=Ou(i,u)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=Ou(r,l):(l=Iu(l,s,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,s=null===(s=e.child.memoizedState)?Fl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Il,a}return e=(l=e.child).sibling,a=Ou(l,{mode:"visible",children:a.children}),0==(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function zl(e,t){return(t=Fu({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&go(r),Ko(t,e.child,null,n),(e=zl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function $l(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Eo(e.return,t,n)}function Ul(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function ql(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(kl(e,t,r.children,n),0!=(2&(r=si.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$l(e,n,t);else if(19===e.tag)$l(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(_a(si,r),0==(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ui(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Ul(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ui(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Ul(t,!0,n,null,o);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hl(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Fs|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Ou(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ou(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gl(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vl(t),null;case 1:case 17:return Ra(t.type)&&Pa(),Vl(t),null;case 3:return r=t.stateNode,oi(),Ca(La),Ca(ja),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oo&&(lu(oo),oo=null))),Pl(e,t),Vl(t),null;case 5:li(t);var a=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)Ol(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Vl(t),null}if(e=ri(ei.current),po(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[pa]=t,r[fa]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var s in be(n,i),a=null,i)if(i.hasOwnProperty(s)){var u=i[s];"children"===s?"string"==typeof u?r.textContent!==u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",u]):"number"==typeof u&&r.textContent!==""+u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",""+u]):l.hasOwnProperty(s)&&null!=u&&"onScroll"===s&&zr("scroll",r)}switch(n){case"input":G(r),J(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[pa]=t,e[fa]=r,Rl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":Y(e,r),a=Q(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in be(n,a),u=a)if(u.hasOwnProperty(i)){var c=u[i];"style"===i?he(e,c):"dangerouslySetInnerHTML"===i?null!=(c=c?c.__html:void 0)&&de(e,c):"children"===i?"string"==typeof c?("textarea"!==n||""!==c)&&pe(e,c):"number"==typeof c&&pe(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(l.hasOwnProperty(i)?null!=c&&"onScroll"===i&&zr("scroll",e):null!=c&&v(e,i,c,s))}switch(n){case"input":G(e),J(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vl(t),null;case 6:if(e&&null!=t.stateNode)Dl(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=ri(ni.current),ri(ei.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Vl(t),null;case 13:if(Ca(si),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&0!=(1&t.mode)&&0==(128&t.flags))fo(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pa]=t}else mo(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vl(t),i=!1}else null!==oo&&(lu(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&si.current)?0===Ds&&(Ds=3):hu())),null!==t.updateQueue&&(t.flags|=4),Vl(t),null);case 4:return oi(),Pl(e,t),null===e&&Ur(t.stateNode.containerInfo),Vl(t),null;case 10:return So(t.type._context),Vl(t),null;case 19:if(Ca(si),null===(i=t.memoizedState))return Vl(t),null;if(r=0!=(128&t.flags),null===(s=i.rendering))if(r)Gl(i,!1);else{if(0!==Ds||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ui(e))){for(t.flags|=128,Gl(i,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(s=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return _a(si,1&si.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>qs&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ui(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!ao)return Vl(t),null}else 2*Ke()-i.renderingStartTime>qs&&1073741824!==n&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=si.current,_a(si,r?1&n|2:1&n),t):(Vl(t),null);case 22:case 23:return pu(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Ps)&&(Vl(t),6&t.subtreeFlags&&(t.flags|=8192)):Vl(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ql(e,t){switch(to(t),t.tag){case 1:return Ra(t.type)&&Pa(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oi(),Ca(La),Ca(ja),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return li(t),null;case 13:if(Ca(si),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ca(si),null;case 4:return oi(),null;case 10:return So(t.type._context),null;case 22:case 23:return pu(),null;default:return null}}Rl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Pl=function(){},Ol=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,ri(ei.current);var o,i=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),i=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(c in be(n,r),n=null,a)if(!r.hasOwnProperty(c)&&a.hasOwnProperty(c)&&null!=a[c])if("style"===c){var s=a[c];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(l.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(s=null!=a?a[c]:void 0,r.hasOwnProperty(c)&&u!==s&&(null!=u||null!=s))if("style"===c)if(s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,s=s?s.__html:void 0,null!=u&&s!==u&&(i=i||[]).push(c,u)):"children"===c?"string"!=typeof u&&"number"!=typeof u||(i=i||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(l.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&zr("scroll",e),i||s===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}},Dl=function(e,t,n,r){n!==r&&(t.flags|=4)};var Yl=!1,Kl=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function es(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Cu(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){Cu(e,t,r)}}var ns=!1;function rs(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&ts(t,n,o)}a=a.next}while(a!==r)}}function as(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ga],delete t[ha],delete t[ya])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function ss(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ls(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}var ds=null,ps=!1;function fs(e,t,n){for(n=n.child;null!==n;)ms(e,t,n),n=n.sibling}function ms(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(l){}switch(n.tag){case 5:Kl||es(n,t);case 6:var r=ds,a=ps;ds=null,fs(e,t,n),ps=a,null!==(ds=r)&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ds.removeChild(n.stateNode));break;case 18:null!==ds&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?sa(e.parentNode,n):1===e.nodeType&&sa(e,n),Ut(e)):sa(ds,n.stateNode));break;case 4:r=ds,a=ps,ds=n.stateNode.containerInfo,ps=!0,fs(e,t,n),ds=r,ps=a;break;case 0:case 11:case 14:case 15:if(!Kl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(0!=(2&o)||0!=(4&o))&&ts(n,t,i),a=a.next}while(a!==r)}fs(e,t,n);break;case 1:if(!Kl&&(es(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Cu(n,t,l)}fs(e,t,n);break;case 21:fs(e,t,n);break;case 22:1&n.mode?(Kl=(r=Kl)||null!==n.memoizedState,fs(e,t,n),Kl=r):fs(e,t,n);break;default:fs(e,t,n)}}function gs(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Lu.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:ds=s.stateNode,ps=!1;break e;case 3:case 4:ds=s.stateNode.containerInfo,ps=!0;break e}s=s.return}if(null===ds)throw Error(o(160));ms(i,l,a),ds=null,ps=!1;var u=a.alternate;null!==u&&(u.return=null),a.return=null}catch(c){Cu(a,t,c)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ys(t,e),t=t.sibling}function ys(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hs(t,e),bs(e),4&r){try{rs(3,e,e.return),as(3,e)}catch(h){Cu(e,e.return,h)}try{rs(5,e,e.return)}catch(h){Cu(e,e.return,h)}}break;case 1:hs(t,e),bs(e),512&r&&null!==n&&es(n,n.return);break;case 5:if(hs(t,e),bs(e),512&r&&null!==n&&es(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){Cu(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,l=null!==n?n.memoizedProps:i,s=e.type,u=e.updateQueue;if(e.updateQueue=null,null!==u)try{"input"===s&&"radio"===i.type&&null!=i.name&&K(a,i),ve(s,l);var c=ve(s,i);for(l=0;l<u.length;l+=2){var d=u[l],p=u[l+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):v(a,d,p,c)}switch(s){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(a,!!i.multiple,m,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[fa]=i}catch(h){Cu(e,e.return,h)}}break;case 6:if(hs(t,e),bs(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(h){Cu(e,e.return,h)}}break;case 3:if(hs(t,e),bs(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(h){Cu(e,e.return,h)}break;case 4:default:hs(t,e),bs(e);break;case 13:hs(t,e),bs(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||(Us=Ke())),4&r&&gs(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Kl=(c=Kl)||d,hs(t,e),Kl=c):hs(t,e),bs(e),8192&r){if(c=null!==e.memoizedState,(e.stateNode.isHidden=c)&&!d&&0!=(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(m=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:rs(4,f,f.return);break;case 1:es(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,n=f.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){Cu(r,n,h)}}break;case 5:es(f,f.return);break;case 22:if(null!==f.memoizedState){xs(p);continue}}null!==m?(m.return=f,Jl=m):xs(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,c?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(s=p.stateNode,l=null!=(u=p.memoizedProps.style)&&u.hasOwnProperty("display")?u.display:null,s.style.display=ge("display",l))}catch(h){Cu(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=c?"":p.memoizedProps}catch(h){Cu(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hs(t,e),bs(e),4&r&&gs(e);case 21:}}function bs(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ls(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cs(e,ss(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;us(e,ss(e),i);break;default:throw Error(o(161))}}catch(l){Cu(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ws(e,t,n)}function ws(e,t,n){for(var r=0!=(1&e.mode);null!==Jl;){var a=Jl,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Yl;if(!i){var l=a.alternate,s=null!==l&&null!==l.memoizedState||Kl;l=Yl;var u=Kl;if(Yl=i,(Kl=s)&&!u)for(Jl=a;null!==Jl;)s=(i=Jl).child,22===i.tag&&null!==i.memoizedState?Ss(a):null!==s?(s.return=i,Jl=s):Ss(a);for(;null!==o;)Jl=o,ws(o,t,n),o=o.sibling;Jl=a,Yl=l,Kl=u}ks(e)}else 0!=(8772&a.subtreeFlags)&&null!==o?(o.return=a,Jl=o):ks(e)}}function ks(e){for(;null!==Jl;){var t=Jl;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Kl||as(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Kl)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:yo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&zo(t,i,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zo(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(o(163))}Kl||512&t.flags&&os(t)}catch(f){Cu(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function xs(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{as(4,t)}catch(s){Cu(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(s){Cu(t,a,s)}}var o=t.return;try{os(t)}catch(s){Cu(t,o,s)}break;case 5:var i=t.return;try{os(t)}catch(s){Cu(t,i,s)}}}catch(s){Cu(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var Es,Cs=Math.ceil,_s=w.ReactCurrentDispatcher,Ts=w.ReactCurrentOwner,js=w.ReactCurrentBatchConfig,Ls=0,As=null,Ns=null,Rs=0,Ps=0,Os=Ea(0),Ds=0,Is=null,Fs=0,Ms=0,zs=0,Bs=null,$s=null,Us=0,qs=1/0,Hs=null,Zs=!1,Gs=null,Vs=null,Ws=!1,Qs=null,Ys=0,Ks=0,Xs=null,Js=-1,eu=0;function tu(){return 0!=(6&Ls)?Ke():-1!==Js?Js:Js=Ke()}function nu(e){return 0==(1&e.mode)?1:0!=(2&Ls)&&0!==Rs?Rs&-Rs:null!==ho.transition?(0===eu&&(eu=gt()),eu):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function ru(e,t,n,r){if(50<Ks)throw Ks=0,Xs=null,Error(o(185));yt(e,n,r),0!=(2&Ls)&&e===As||(e===As&&(0==(2&Ls)&&(Ms|=n),4===Ds&&su(e,Rs)),au(e,r),1===n&&0===Ls&&0==(1&t.mode)&&(qs=Ke()+500,za&&Ua()))}function au(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),l=1<<i,s=a[i];-1===s?0!=(l&n)&&0==(l&r)||(a[i]=ft(l,t)):s<=t&&(e.expiredLanes|=l),o&=~l}}(e,t);var r=pt(e,e===As?Rs:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){za=!0,$a(e)}(uu.bind(null,e)):$a(uu.bind(null,e)),ia((function(){0==(6&Ls)&&Ua()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Au(n,ou.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ou(e,t){if(Js=-1,eu=0,0!=(6&Ls))throw Error(o(327));var n=e.callbackNode;if(Su()&&e.callbackNode!==n)return null;var r=pt(e,e===As?Rs:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=yu(e,r);else{t=r;var a=Ls;Ls|=2;var i=gu();for(As===e&&Rs===t||(Hs=null,qs=Ke()+500,fu(e,t));;)try{vu();break}catch(s){mu(e,s)}xo(),_s.current=i,Ls=a,null!==Ns?t=0:(As=null,Rs=0,t=Ds)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=iu(e,a))),1===t)throw n=Is,fu(e,0),su(e,r),au(e,Ke()),n;if(6===t)su(e,r);else{if(a=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!lr(o(),a))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=yu(e,r))&&(0!==(i=mt(e))&&(r=i,t=iu(e,i))),1===t))throw n=Is,fu(e,0),su(e,r),au(e,Ke()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:xu(e,$s,Hs);break;case 3:if(su(e,r),(130023424&r)===r&&10<(t=Us+500-Ke())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tu(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(xu.bind(null,e,$s,Hs),t);break}xu(e,$s,Hs);break;case 4:if(su(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var l=31-it(r);i=1<<l,(l=t[l])>a&&(a=l),r&=~i}if(r=a,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cs(r/1960))-r)){e.timeoutHandle=ra(xu.bind(null,e,$s,Hs),r);break}xu(e,$s,Hs);break;default:throw Error(o(329))}}}return au(e,Ke()),e.callbackNode===n?ou.bind(null,e):null}function iu(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(fu(e,t).flags|=256),2!==(e=yu(e,t))&&(t=$s,$s=n,null!==t&&lu(t)),e}function lu(e){null===$s?$s=e:$s.push.apply($s,e)}function su(e,t){for(t&=~zs,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function uu(e){if(0!=(6&Ls))throw Error(o(327));Su();var t=pt(e,0);if(0==(1&t))return au(e,Ke()),null;var n=yu(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=iu(e,r))}if(1===n)throw n=Is,fu(e,0),su(e,t),au(e,Ke()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xu(e,$s,Hs),au(e,Ke()),null}function cu(e,t){var n=Ls;Ls|=1;try{return e(t)}finally{0===(Ls=n)&&(qs=Ke()+500,za&&Ua())}}function du(e){null!==Qs&&0===Qs.tag&&0==(6&Ls)&&Su();var t=Ls;Ls|=1;var n=js.transition,r=vt;try{if(js.transition=null,vt=1,e)return e()}finally{vt=r,js.transition=n,0==(6&(Ls=t))&&Ua()}}function pu(){Ps=Os.current,Ca(Os)}function fu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Ns)for(n=Ns.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Pa();break;case 3:oi(),Ca(La),Ca(ja),di();break;case 5:li(r);break;case 4:oi();break;case 13:case 19:Ca(si);break;case 10:So(r.type._context);break;case 22:case 23:pu()}n=n.return}if(As=e,Ns=e=Ou(e.current,null),Rs=Ps=t,Ds=0,Is=null,zs=Ms=Fs=0,$s=Bs=null,null!==To){for(t=0;t<To.length;t++)if(null!==(r=(n=To[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}To=null}return e}function mu(e,t){for(;;){var n=Ns;try{if(xo(),pi.current=il,bi){for(var r=gi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}bi=!1}if(mi=0,yi=hi=gi=null,vi=!1,wi=0,Ts.current=null,null===n||null===n.return){Ds=1,Is=t,Ns=null;break}e:{var i=e,l=n.return,s=n,u=t;if(t=Rs,s.flags|=32768,null!==u&&"object"==typeof u&&"function"==typeof u.then){var c=u,d=s,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=yl(l);if(null!==m){m.flags&=-257,bl(m,l,s,0,t),1&m.mode&&hl(i,c,t),u=c;var g=(t=m).updateQueue;if(null===g){var h=new Set;h.add(u),t.updateQueue=h}else g.add(u);break e}if(0==(1&t)){hl(i,c,t),hu();break e}u=Error(o(426))}else if(ao&&1&s.mode){var y=yl(l);if(null!==y){0==(65536&y.flags)&&(y.flags|=256),bl(y,l,s,0,t),go(cl(u,s));break e}}i=u=cl(u,s),4!==Ds&&(Ds=2),null===Bs?Bs=[i]:Bs.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,ml(0,u,t));break e;case 1:s=u;var b=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof b.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Vs||!Vs.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,gl(i,s,t));break e}}i=i.return}while(null!==i)}ku(n)}catch(w){t=w,Ns===n&&null!==n&&(Ns=n=n.return);continue}break}}function gu(){var e=_s.current;return _s.current=il,null===e?il:e}function hu(){0!==Ds&&3!==Ds&&2!==Ds||(Ds=4),null===As||0==(268435455&Fs)&&0==(268435455&Ms)||su(As,Rs)}function yu(e,t){var n=Ls;Ls|=2;var r=gu();for(As===e&&Rs===t||(Hs=null,fu(e,t));;)try{bu();break}catch(a){mu(e,a)}if(xo(),Ls=n,_s.current=r,null!==Ns)throw Error(o(261));return As=null,Rs=0,Ds}function bu(){for(;null!==Ns;)wu(Ns)}function vu(){for(;null!==Ns&&!Qe();)wu(Ns)}function wu(e){var t=Es(e.alternate,e,Ps);e.memoizedProps=e.pendingProps,null===t?ku(e):Ns=t,Ts.current=null}function ku(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Wl(n,t,Ps)))return void(Ns=n)}else{if(null!==(n=Ql(n,t)))return n.flags&=32767,void(Ns=n);if(null===e)return Ds=6,void(Ns=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ns=t);Ns=t=e}while(null!==t);0===Ds&&(Ds=5)}function xu(e,t,n){var r=vt,a=js.transition;try{js.transition=null,vt=1,function(e,t,n,r){do{Su()}while(null!==Qs);if(0!=(6&Ls))throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===As&&(Ns=As=null,Rs=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Ws||(Ws=!0,Au(tt,(function(){return Su(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=js.transition,js.transition=null;var l=vt;vt=1;var s=Ls;Ls|=4,Ts.current=null,function(e,t){if(ea=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var l=0,s=-1,u=-1,c=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(s=l+a),p!==i||0!==r&&3!==p.nodeType||(u=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++c===a&&(s=l),f===i&&++d===r&&(u=l),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===s||-1===u?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Ht=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var g=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,y=g.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?h:yo(t.type,h),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){Cu(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}g=ns,ns=!1}(e,n),ys(n,e),mr(ta),Ht=!!ea,ta=ea=null,e.current=n,vs(n,e,a),Ye(),Ls=s,vt=l,js.transition=i}else e.current=n;if(Ws&&(Ws=!1,Qs=e,Ys=a),i=e.pendingLanes,0===i&&(Vs=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),au(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Zs)throw Zs=!1,e=Gs,Gs=null,e;0!=(1&Ys)&&0!==e.tag&&Su(),i=e.pendingLanes,0!=(1&i)?e===Xs?Ks++:(Ks=0,Xs=e):Ks=0,Ua()}(e,t,n,r)}finally{js.transition=a,vt=r}return null}function Su(){if(null!==Qs){var e=wt(Ys),t=js.transition,n=vt;try{if(js.transition=null,vt=16>e?16:e,null===Qs)var r=!1;else{if(e=Qs,Qs=null,Ys=0,0!=(6&Ls))throw Error(o(331));var a=Ls;for(Ls|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!=(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var u=0;u<s.length;u++){var c=s[u];for(Jl=c;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:rs(8,d,i)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,m=d.return;if(is(d),d===c){Jl=null;break}if(null!==f){f.return=m,Jl=f;break}Jl=m}}}var g=i.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var y=h.sibling;h.sibling=null,h=y}while(null!==h)}}Jl=i}}if(0!=(2064&i.subtreeFlags)&&null!==l)l.return=i,Jl=l;else e:for(;null!==Jl;){if(0!=(2048&(i=Jl).flags))switch(i.tag){case 0:case 11:case 15:rs(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Jl=b;break e}Jl=i.return}}var v=e.current;for(Jl=v;null!==Jl;){var w=(l=Jl).child;if(0!=(2064&l.subtreeFlags)&&null!==w)w.return=l,Jl=w;else e:for(l=v;null!==Jl;){if(0!=(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:as(9,s)}}catch(x){Cu(s,s.return,x)}if(s===l){Jl=null;break e}var k=s.sibling;if(null!==k){k.return=s.return,Jl=k;break e}Jl=s.return}}if(Ls=a,Ua(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{vt=n,js.transition=t}}return!1}function Eu(e,t,n){e=Do(e,t=ml(0,t=cl(n,t),1),1),t=tu(),null!==e&&(yt(e,1,t),au(e,t))}function Cu(e,t,n){if(3===e.tag)Eu(e,e,n);else for(;null!==t;){if(3===t.tag){Eu(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Vs||!Vs.has(r))){t=Do(t,e=gl(t,e=cl(n,e),1),1),e=tu(),null!==t&&(yt(t,1,e),au(t,e));break}}t=t.return}}function _u(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tu(),e.pingedLanes|=e.suspendedLanes&n,As===e&&(Rs&n)===n&&(4===Ds||3===Ds&&(130023424&Rs)===Rs&&500>Ke()-Us?fu(e,0):zs|=n),au(e,t)}function Tu(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ct,0==(130023424&(ct<<=1))&&(ct=4194304)));var n=tu();null!==(e=Ao(e,t))&&(yt(e,t,n),au(e,n))}function ju(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tu(e,n)}function Lu(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Tu(e,n)}function Au(e,t){return Ve(e,t)}function Nu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ru(e,t,n,r){return new Nu(e,t,n,r)}function Pu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ou(e,t){var n=e.alternate;return null===n?((n=Ru(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Du(e,t,n,r,a,i){var l=2;if(r=e,"function"==typeof e)Pu(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case S:return Iu(n.children,a,i,t);case E:l=8,a|=8;break;case C:return(e=Ru(12,n,t,2|a)).elementType=C,e.lanes=i,e;case L:return(e=Ru(13,n,t,a)).elementType=L,e.lanes=i,e;case A:return(e=Ru(19,n,t,a)).elementType=A,e.lanes=i,e;case P:return Fu(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case _:l=10;break e;case T:l=9;break e;case j:l=11;break e;case N:l=14;break e;case R:l=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Ru(l,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Iu(e,t,n,r){return(e=Ru(7,e,r,t)).lanes=n,e}function Fu(e,t,n,r){return(e=Ru(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Mu(e,t,n){return(e=Ru(6,e,null,t)).lanes=n,e}function zu(e,t,n){return(t=Ru(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bu(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function $u(e,t,n,r,a,o,i,l,s){return e=new Bu(e,t,n,l,s),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Ru(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ro(o),e}function Uu(e){if(!e)return Ta;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ra(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Ra(n))return Da(e,n,t)}return t}function qu(e,t,n,r,a,o,i,l,s){return(e=$u(n,r,!0,e,0,o,0,l,s)).context=Uu(null),n=e.current,(o=Oo(r=tu(),a=nu(n))).callback=null!=t?t:null,Do(n,o,a),e.current.lanes=a,yt(e,a,r),au(e,r),e}function Hu(e,t,n,r){var a=t.current,o=tu(),i=nu(a);return n=Uu(n),null===t.context?t.context=n:t.pendingContext=n,(t=Oo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Do(a,t,i))&&(ru(e,a,i,o),Io(e,a,i)),i}function Zu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vu(e,t){Gu(e,t),(e=e.alternate)&&Gu(e,t)}Es=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||La.current)wl=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return wl=!1,function(e,t,n){switch(t.tag){case 3:Al(t),mo();break;case 5:ii(t);break;case 1:Ra(t.type)&&Ia(t);break;case 4:ai(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;_a(bo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(_a(si,1&si.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Ml(e,t,n):(_a(si,1&si.current),null!==(e=Zl(e,t,n))?e.sibling:null);_a(si,1&si.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return ql(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),_a(si,si.current),r)break;return null;case 22:case 23:return t.lanes=0,Cl(e,t,n)}return Zl(e,t,n)}(e,t,n);wl=0!=(131072&e.flags)}else wl=!1,ao&&0!=(1048576&t.flags)&&Ja(t,Ga,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hl(e,t),e=t.pendingProps;var a=Na(t,ja.current);Co(t,n),a=Ei(null,t,r,e,a,n);var i=Ci();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ra(r)?(i=!0,Ia(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Ro(t),a.updater=Uo,t.stateNode=a,a._reactInternals=t,Go(t,r,e,n),t=Ll(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),kl(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hl(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Pu(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===N)return 14}return 2}(r),e=yo(r,e),a){case 0:t=Tl(null,t,r,e,n);break e;case 1:t=jl(null,t,r,e,n);break e;case 11:t=xl(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,yo(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Tl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 1:return r=t.type,a=t.pendingProps,jl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 3:e:{if(Al(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Po(e,t),Mo(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Nl(e,t,r,n,a=cl(Error(o(423)),t));break e}if(r!==a){t=Nl(e,t,r,n,a=cl(Error(o(424)),t));break e}for(ro=ua(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=Xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),r===a){t=Zl(e,t,n);break e}kl(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&uo(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,l=a.children,na(r,a)?l=null:null!==i&&na(r,i)&&(t.flags|=32),_l(e,t),kl(e,t,l,n),t.child;case 6:return null===e&&uo(t),null;case 13:return Ml(e,t,n);case 4:return ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ko(t,null,r,n):kl(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,xl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 7:return kl(e,t,t.pendingProps,n),t.child;case 8:case 12:return kl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,l=a.value,_a(bo,r._currentValue),r._currentValue=l,null!==i)if(lr(i.value,l)){if(i.children===a.children&&!La.current){t=Zl(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){l=i.child;for(var u=s.firstContext;null!==u;){if(u.context===r){if(1===i.tag){(u=Oo(-1,n&-n)).tag=2;var c=i.updateQueue;if(null!==c){var d=(c=c.shared).pending;null===d?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}i.lanes|=n,null!==(u=i.alternate)&&(u.lanes|=n),Eo(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(10===i.tag)l=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(l=i.return))throw Error(o(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Eo(l,n,t),l=i.sibling}else l=i.child;if(null!==l)l.return=i;else for(l=i;null!==l;){if(l===t){l=null;break}if(null!==(i=l.sibling)){i.return=l.return,l=i;break}l=l.return}i=l}kl(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Co(t,n),r=r(a=_o(a)),t.flags|=1,kl(e,t,r,n),t.child;case 14:return a=yo(r=t.type,t.pendingProps),Sl(e,t,r,a=yo(r.type,a),n);case 15:return El(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:yo(r,a),Hl(e,t),t.tag=1,Ra(r)?(e=!0,Ia(t)):e=!1,Co(t,n),Ho(t,r,a),Go(t,r,a,n),Ll(null,t,r,!0,e,n);case 19:return ql(e,t,n);case 22:return Cl(e,t,n)}throw Error(o(156,t.tag))};var Wu="function"==typeof reportError?reportError:function(e){console.error(e)};function Qu(e){this._internalRoot=e}function Yu(e){this._internalRoot=e}function Ku(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ju(){}function ec(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var l=a;a=function(){var e=Zu(i);l.call(e)}}Hu(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Zu(i);o.call(e)}}var i=qu(t,r,e,0,null,!1,0,"",Ju);return e._reactRootContainer=i,e[ma]=i.current,Ur(8===e.nodeType?e.parentNode:e),du(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var l=r;r=function(){var e=Zu(s);l.call(e)}}var s=$u(e,0,!1,null,0,!1,0,"",Ju);return e._reactRootContainer=s,e[ma]=s.current,Ur(8===e.nodeType?e.parentNode:e),du((function(){Hu(t,s,n,r)})),s}(n,t,e,a,r);return Zu(i)}Yu.prototype.render=Qu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Hu(e,t,null,null)},Yu.prototype.unmount=Qu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;du((function(){Hu(null,e,null,null)})),t[ma]=null}},Yu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),au(t,Ke()),0==(6&Ls)&&(qs=Ke()+500,Ua()))}break;case 13:du((function(){var t=Ao(e,1);if(null!==t){var n=tu();ru(t,e,1,n)}})),Vu(e,1)}},xt=function(e){if(13===e.tag){var t=Ao(e,134217728);if(null!==t)ru(t,e,134217728,tu());Vu(e,134217728)}},St=function(e){if(13===e.tag){var t=nu(e),n=Ao(e,t);if(null!==n)ru(n,e,t,tu());Vu(e,t)}},Et=function(){return vt},Ct=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));V(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},je=cu,Le=du;var tc={usingClientEntryPoint:!1,Events:[va,wa,ka,_e,Te,cu]},nc={findFiberByHostInstance:ba,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},rc={bundleType:nc.bundleType,version:nc.version,rendererPackageName:nc.rendererPackageName,rendererConfig:nc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:nc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ac=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ac.isDisabled&&ac.supportsFiber)try{at=ac.inject(rc),ot=ac}catch(ce){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tc,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Ku(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Ku(e))throw Error(o(299));var n=!1,r="",a=Wu;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=$u(e,1,!1,null,0,n,0,r,a),e[ma]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Qu(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e){return du(e)},t.hydrate=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Ku(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",l=Wu;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=qu(t,null,e,1,null!=n?n:null,a,0,i,l),e[ma]=t.current,Ur(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Yu(t)},t.render=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xu(e))throw Error(o(40));return!!e._reactRootContainer&&(du((function(){ec(null,null,e,!1,(function(){e._reactRootContainer=null,e[ma]=null}))})),!0)},t.unstable_batchedUpdates=cu,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xu(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return ec(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},745:(e,t,n)=>{"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,u,c;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(!o(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;for(c=e.entries();!(s=c.next()).done;)if(!o(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,u[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!e.$$typeof)&&!o(e[u[s]],i[u[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),l=n.n(i),s=n(1143),u=n.n(s),c=n(6774),d=n.n(c);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},C=function(e){return S(e,"onChangeClientState")||function(){}},_=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},j=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var l=o[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var l=o[i],s=p({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},A=function(e){return Array.isArray(e)?e.join(""):e},N=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},R=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=I(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=D(n),o=A(t);return a?"<"+e+' data-rh="true" '+a+">"+O(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=N(e.metaTags,v),o=N(t,y),i=N(n,b);return{priorityMethods:{toComponent:function(){return[].concat(F(h.META,a.priority),F(h.LINK,o.priority),F(h.SCRIPT,i.priority))},toString:function(){return M(h.META,a.priority,r)+" "+M(h.LINK,o.priority,r)+" "+M(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,c=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:M(h.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(h.LINK,c,r),meta:M(h.META,d,r),noscript:M(h.NOSCRIPT,o,r),script:M(h.SCRIPT,p,r),style:M(h.STYLE,i,r),title:M(h.TITLE,{title:s,titleAttributes:u},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),q=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===a.indexOf(s)&&a.push(s);var c=o.indexOf(s);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},W=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;V(h.BODY,e.bodyAttributes),V(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=A(e)),V(h.TITLE,t)}(c,d);var p={baseTag:G(h.BASE,n),linkTags:G(h.LINK,a),metaTags:G(h.META,o),noscriptTags:G(h.NOSCRIPT,i),scriptTags:G(h.SCRIPT,s),styleTags:G(h.STYLE,u)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),l(e,f,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:_("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",e),linkTags:j(h.LINK,["rel","href"],e),metaTags:j(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:j(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:j(h.SCRIPT,["src","innerHTML"],e),styleTags:j(h.STYLE,["cssText"],e),title:E(e),titleAttributes:_("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});Z.canUseDOM?(t=o,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){W(t,(function(){Q=null}))})):(W(t),Q=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:q.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(R(this.props,"helmetData"),R(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case h.BODY:return p({},a,{bodyAttributes:p({},o)});case h.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,K),l=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(Y,p({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case l:case i:case f:return e;default:switch(e=e&&e.$$typeof){case u:case p:case h:case g:case s:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===c},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===s||e.$$typeof===u||e.$$typeof===p||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var l=n(7294),s=n(5697),u=[],c=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return u.push(h),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()})),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),p}function g(e){return m(d,e)}g.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function y(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return y(e)}))}o(h,"propTypes",{report:s.func.isRequired}),o(h,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),g.Capture=h,g.preloadAll=function(){return new Promise((function(e,t){y(u).then(e,t)}))},g.preloadReady=function(){return new Promise((function(e,t){y(c).then(e,e)}))},e.exports=g},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>v,VK:()=>c,rU:()=>h});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),l=n(7462),s=n(3366),u=n(8776),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var g=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,l.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=f!==m&&t||n,o.createElement("a",c)}));var h=m((function(e,t){var n=e.component,a=void 0===n?g:n,c=e.replace,h=e.to,y=e.innerRef,b=(0,s.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=e.history,r=p(d(h,e.location),e.location),s=r?n.createHref(r):"",g=(0,l.Z)({},b,{href:s,navigate:function(){var t=d(h,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(c||r?n.replace:n.push)(t)}});return f!==m?g.ref=t||y:g.innerRef=y,o.createElement(a,g)}))})),y=function(e){return e},b=o.forwardRef;void 0===b&&(b=y);var v=b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,f=e.activeStyle,m=e.className,g=e.exact,v=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,C=e.innerRef,_=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=w||e.location,i=p(d(E,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),j=T?(0,r.LX)(n.pathname,{path:T,exact:g,sensitive:k,strict:x}):null,L=!!(v?v(j,n):j),A="function"==typeof m?m(L):m,N="function"==typeof S?S(L):S;L&&(A=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(A,c),N=(0,l.Z)({},N,f));var R=(0,l.Z)({"aria-current":L&&a||null,className:A,style:N,to:i},_);return y!==b?R.ref=t||C:R.innerRef=C,o.createElement(h,R)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>E,F0:()=>v,LX:()=>S,TH:()=>P,k6:()=>R,rs:()=>A,s6:()=>b});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),l=n(9318),s=n(8776),u=n(7462),c=n(4779),d=n.n(c),p=(n(9864),n(3366)),f=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);s.childContextTypes=((n={})[l]=i().object.isRequired,n);var u=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return u.contextTypes=((o={})[l]=i().object,o),{Provider:s,Consumer:u}},h=function(e){var t=g();return t.displayName=e,t},y=h("Router-History"),b=h("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(b.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(y.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,l=void 0!==i&&i,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:l,sensitive:u}),a=r.regexp,i=r.keys,s=a.exec(e);if(!s)return null;var c=s[0],p=s.slice(1),f=e===c;return o&&!f?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,u.Z)({},t,{location:n,match:r}),i=e.props,l=i.children,c=i.component,d=i.render;return Array.isArray(l)&&function(e){return 0===a.Children.count(e)}(l)&&(l=null),a.createElement(b.Provider,{value:o},o.match?l?"function"==typeof l?l(o):l:c?a.createElement(c,o):d?d(o):null:"function"==typeof l?l(o):null)}))},t}(a.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function _(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,u.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,l.Ep)(e)}function j(e){return function(){(0,s.Z)(!1)}}function L(){}a.Component;var A=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,u.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var N=a.useContext;function R(){return N(y)}function P(){return N(b).location}},5251:(e,t,n)=>{"use strict";var r=n(7294),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,o={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:u,ref:c,props:o,_owner:l.current}}t.Fragment=o,t.jsx=u,t.jsxs=u},2408:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,r){var a,o={},i=null,l=null;if(null!=t)for(a in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!E.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(1===s)o.children=r;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];o.children=u}if(e&&e.defaultProps)for(a in s=e.defaultProps)void 0===o[a]&&(o[a]=s[a]);return{$$typeof:n,type:e,key:i,ref:l,props:o,_owner:S.current}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function j(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function L(e,t,a,o,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return i=i(s=e),e=""===o?"."+j(s,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),L(i,t,a,"",(function(e){return e}))):null!=i&&(_(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(s=0,o=""===o?".":o+":",k(e))for(var u=0;u<e.length;u++){var c=o+j(l=e[u],u);s+=L(l,t,a,c,i)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(l=e.next()).done;)s+=L(l=l.value,t,a,c=o+j(l,u++),i);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function A(e,t,n){if(null==e)return e;var r=[],a=0;return L(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function N(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var R={current:null},P={transition:null},O={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};t.Children={map:A,forEach:function(e,t,n){A(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=a,t.Profiler=i,t.PureComponent=v,t.StrictMode=o,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),o=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)x.call(t,u)&&!E.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==s?s[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){s=Array(u);for(var c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:N}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return R.current.useCallback(e,t)},t.useContext=function(e){return R.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return R.current.useDeferredValue(e)},t.useEffect=function(e,t){return R.current.useEffect(e,t)},t.useId=function(){return R.current.useId()},t.useImperativeHandle=function(e,t,n){return R.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return R.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return R.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return R.current.useMemo(e,t)},t.useReducer=function(e,t,n){return R.current.useReducer(e,t,n)},t.useRef=function(e){return R.current.useRef(e)},t.useState=function(e){return R.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return R.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return R.current.useTransition()},t.version="18.2.0"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},5893:(e,t,n)=>{"use strict";e.exports=n(5251)},53:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var l=2*(r+1)-1,s=e[l],u=l+1,c=e[u];if(0>o(s,n))u<a&&0>o(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else{if(!(u<a&&0>o(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var u=[],c=[],d=1,p=null,f=3,m=!1,g=!1,h=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function k(e){if(h=!1,w(e),!g)if(null!==r(u))g=!0,P(x);else{var t=r(c);null!==t&&O(k,t.startTime-e)}}function x(e,n){g=!1,h&&(h=!1,b(_),_=-1),m=!0;var o=f;try{for(w(n),p=r(u);null!==p&&(!(p.expirationTime>n)||e&&!L());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var l=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(u)&&a(u),w(n)}else a(u);p=r(u)}if(null!==p)var s=!0;else{var d=r(c);null!==d&&O(k,d.startTime-n),s=!1}return s}finally{p=null,f=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,C=null,_=-1,T=5,j=-1;function L(){return!(t.unstable_now()-j<T)}function A(){if(null!==C){var e=t.unstable_now();j=e;var n=!0;try{n=C(!0,e)}finally{n?S():(E=!1,C=null)}}else E=!1}if("function"==typeof v)S=function(){v(A)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,R=N.port2;N.port1.onmessage=A,S=function(){R.postMessage(null)}}else S=function(){y(A,0)};function P(e){C=e,E||(E=!0,S())}function O(e,n){_=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(u)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:l=o+l,sortIndex:-1},o>i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(h?(b(_),_=-1):h=!0,O(k,o-i))):(e.sortIndex=l,n(u,e),g||m||(g=!0,P(x))),e},t.unstable_shouldYield=L,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var u=o[s];if(!l(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"LIPS Scheme",tagline:"Powerfull Scheme based Lisp in JavaScript",favicon:"img/favicon.ico",url:"https://lips.js.org",baseUrl:"/",organizationName:"jcubic",projectName:"lips",deploymentBranch:"docusaurus",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{sidebarPath:"./sidebars.ts",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},blog:{showReadingTime:!0,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/docusaurus-social-card.jpg",navbar:{title:"Scheme",logo:{alt:"LIPS Scheme Logo",src:"img/logo-black.svg",srcDark:"img/logo-white.svg",target:"_self",href:"/"},items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Tutorial"},{to:"/blog",label:"Blog",position:"left"},{href:"https://github.com/jcubuc/lips",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Tutorial",to:"/docs/intro"}]},{title:"Community",items:[{label:"Gitter",href:"https://gitter.im/jcubic/lips"},{label:"Twitter",href:"https://twitter.com/LIPS_scheme"}]},{title:"More",items:[{label:"Blog",to:"/blog"},{label:"GitHub",href:"https://github.com/jcubuc/lips"}]}],copyright:"Copyright \xa9 2024 My Project, Inc. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}}}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},512:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},2573:(e,t,n)=>{"use strict";n.d(t,{p1:()=>T,y$:()=>ee});var r,a,o,i,l,s,u,c=n(7294),d=n(512),p=Object.create,f=Object.defineProperty,m=Object.defineProperties,g=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>m(e,h(t)),C=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},_=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var l in o)if(o.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=o[l])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],u=r.util.type(s);"Object"!==u||o[i(s)]?"Array"!==u||o[i(s)]||(o[i(s)]=!0,e(s,n,l,o)):(o[i(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return s(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,l,c,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var g=f[m],h=g.inside,y=!!g.lookbehind,b=!!g.greedy,v=g.alias;if(b&&!g.pattern.global){var w=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,w+"g")}for(var k=g.pattern||g,x=l.next,S=c;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var C,_=1;if(b){if(!(C=o(k,S,e,y))||C.index>=e.length)break;var T=C.index,j=C.index+C[0].length,L=S;for(L+=x.value.length;T>=L;)L+=(x=x.next).value.length;if(S=L-=x.value.length,x.value instanceof a)continue;for(var A=x;A!==t.tail&&(L<j||"string"==typeof A.value);A=A.next)_++,L+=A.value.length;_--,E=e.slice(S,L),C.index-=S}else if(!(C=o(k,0,E,y)))continue;T=C.index;var N=C[0],R=E.slice(0,T),P=E.slice(T+N.length),O=S+E.length;d&&O>d.reach&&(d.reach=O);var D=x.prev;if(R&&(D=s(t,D,R),S+=R.length),u(t,D,_),x=s(t,D,new a(p,h?r.tokenize(N,h):N,v,N)),P&&s(t,x,P),_>1){var I={cause:p+","+m,reach:O};i(e,t,n,x.prev,S,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var l="";for(var s in o.attributes)l+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+l+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||f(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(_());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),u={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":u}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":u}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l<s;l++)i[l]instanceof RegExp&&(i[l]={pattern:i[l]}),r(i[l]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var u,c=e.languages[n];c?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):l[t]||e})),c,n):n&&"none"!==n&&e.plugins.autoloader&&(u="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=u,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(u);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===c(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,f(c(0),"property-mutation"),0<a.length)){var l=p(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&0<=a.indexOf(u.content)&&f(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=c(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],l=i.content;if("punctuation"===i.type&&"string"==typeof l)if(e.test(l))a++;else if(r.test(l)&&0==--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},d=(s=l(s.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n})).join(""),n,i),Object.keys(c));return u=0,function t(n){for(var o=0;o<n.length;o++){if(u>=d.length)return;var i,s,p,f,m,g,h,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(h=(g="string"==typeof y?y:y.content).indexOf(i))&&(++u,s=g.substring(0,h),m=c[i],p=void 0,(f={})["interpolation-punctuation"]=a,3===(f=e.tokenize(m,f)).length&&((p=[1,1]).push.apply(p,l(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,m),f=g.substring(h+i.length),m=[],s&&m.push(s),m.push(p),f&&(t(g=[f]),m.push.apply(m,g)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):y.content=m)):(h=y.content,Array.isArray(h)?t(h):t([h]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,l,u=n[r];"string"!=typeof u&&(o=u.content,Array.isArray(o)?"template-string"===u.type?(u=o[1],3===o.length&&"string"!=typeof u&&"embedded-code"===u.type&&(i=c(u),u=u.alias,u=Array.isArray(u)?u[0]:u,l=e.languages[u])&&(o[1]=s(i,l,u))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===l(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:l(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=l(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=l(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=l(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>j,duotoneDark:()=>L,duotoneLight:()=>A,github:()=>N,jettwaveDark:()=>H,jettwaveLight:()=>Z,nightOwl:()=>R,nightOwlLight:()=>P,oceanicNext:()=>I,okaidia:()=>F,oneDark:()=>G,oneLight:()=>V,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>q});var j={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},L={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},A={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},N={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},R={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},P={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},O="#c5a5c5",D="#8dc891",I={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:O}},{types:["attr-value"],style:{color:D}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:D}},{types:["punctuation"],style:{color:D}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:O}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},q={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},H={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Z={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},V={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},W=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Q=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},K=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,u=t[i];const c=n[i][o];if("string"==typeof c?(u=i>0?u:["plain"],e=c):(u=K(u,c.type),c.alias&&(u=K(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Q),p=d.length;l.push({types:u,content:d[0]});for(let t=1;t<p;t++)Y(l),s.push(l=[]),l.push({types:u,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return Y(l),s},J=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,c.useState)(W(t,e)),a=(0,c.useRef)(),o=(0,c.useRef)();return(0,c.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(W(t,e)))}),[e,t]),n})(o,r),l=(e=>(0,c.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=C(n,["className","style","line"]);const l=E(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof a&&(l.style=S(S({},l.style||{}),a)),l}),[e]))(i),s=(e=>{const t=(0,c.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,c.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=C(n,["token","className","style"]);const l=E(S({},i),{className:(0,d.Z)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(l.style=S(S({},l.style||{}),o)),l}),[t])})(i),u=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,c.useRef)(e);return(0,c.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:u,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},ee=e=>(0,c.createElement)(J,E(S({},e),{prism:e.prism||T,theme:e.theme||U,code:e.code,language:e.language}))},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/blog-b37":{"__comp":"a6aa9e1f","__context":{"plugin":"9abc7bc7"},"sidebar":"814f3328","items":[{"content":"7f5460c2"}],"metadata":"b2b675dd"},"/blog/archive-074":{"__comp":"9e4087bc","__context":{"plugin":"9abc7bc7"},"archive":"b2f554cd"},"/blog/tags-ede":{"__comp":"01a85c17","__context":{"plugin":"9abc7bc7"},"sidebar":"814f3328","tags":"a7023ddc"},"/blog/tags/hello-eda":{"__comp":"6875c492","__context":{"plugin":"9abc7bc7"},"sidebar":"814f3328","items":[{"content":"7f5460c2"}],"tag":"30a24c52","listMetadata":"66406991"},"/blog/tags/lips-7e5":{"__comp":"6875c492","__context":{"plugin":"9abc7bc7"},"sidebar":"814f3328","items":[{"content":"7f5460c2"}],"tag":"ea13dd3a","listMetadata":"4b1723f1"},"/blog/welcome-2d7":{"__comp":"ccc49370","__context":{"plugin":"9abc7bc7"},"sidebar":"814f3328","content":"c36ecdcb"},"/markdown-page-10a":{"__comp":"1f391b9e","__context":{"plugin":"f196f4a4"},"content":"393be207"},"/docs-ed1":{"__comp":"5e95c892","__context":{"plugin":"c71491fd"}},"/docs-40b":{"__comp":"a7bd4aaa","version":"935f2afb"},"/docs-292":{"__comp":"a94703ab"},"/docs/category/tutorial---basics-d44":{"__comp":"14eb3368","categoryGeneratedIndex":"ea88f2a1"},"/docs/category/tutorial---extras-f09":{"__comp":"14eb3368","categoryGeneratedIndex":"c844b82d"},"/docs/intro-aed":{"__comp":"17896441","content":"0e384e19"},"/docs/tutorial-basics/congratulations-793":{"__comp":"17896441","content":"822bd8ab"},"/docs/tutorial-basics/create-a-blog-post-68e":{"__comp":"17896441","content":"533a09ca"},"/docs/tutorial-basics/create-a-document-c2d":{"__comp":"17896441","content":"1e4232ab"},"/docs/tutorial-basics/create-a-page-f44":{"__comp":"17896441","content":"5c868d36"},"/docs/tutorial-basics/deploy-your-site-e46":{"__comp":"17896441","content":"f55d3e7a"},"/docs/tutorial-basics/markdown-features-4b7":{"__comp":"17896441","content":"18c41134"},"/docs/tutorial-extras/manage-docs-versions-fdd":{"__comp":"17896441","content":"dff1c289"},"/docs/tutorial-extras/translate-your-site-2d7":{"__comp":"17896441","content":"e44a2883"},"/-e36":{"__comp":"1df93b7f","__context":{"plugin":"f196f4a4"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=7221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.ca5d58d1.js.LICENSE.txt b/assets/js/main.ca5d58d1.js.LICENSE.txt new file mode 100644 index 000000000..91dc89499 --- /dev/null +++ b/assets/js/main.ca5d58d1.js.LICENSE.txt @@ -0,0 +1,64 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! Bundled license information: + +prismjs/prism.js: + (** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + *) +*/ + +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/assets/js/runtime~main.01ab2e07.js b/assets/js/runtime~main.01ab2e07.js new file mode 100644 index 000000000..f1515bf12 --- /dev/null +++ b/assets/js/runtime~main.01ab2e07.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,t,r,c,f={},d={};function o(e){var a=d[e];if(void 0!==a)return a.exports;var t=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=f,o.c=d,e=[],o.O=(a,t,r,c)=>{if(!t){var f=1/0;for(i=0;i<e.length;i++){t=e[i][0],r=e[i][1],c=e[i][2];for(var d=!0,n=0;n<t.length;n++)(!1&c||f>=c)&&Object.keys(o.O).every((e=>o.O[e](t[n])))?t.splice(n--,1):(d=!1,c<f&&(f=c));if(d){e.splice(i--,1);var b=r();void 0!==b&&(a=b)}}return a}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[t,r,c]},o.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return o.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);o.r(c);var f={};a=a||[null,t({}),t([]),t(t)];for(var d=2&r&&e;"object"==typeof d&&!~a.indexOf(d);d=t(d))Object.getOwnPropertyNames(d).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,o.d(c,f),c},o.d=(e,a)=>{for(var t in a)o.o(a,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((a,t)=>(o.f[t](e,a),a)),[])),o.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",70:"f196f4a4",85:"1f391b9e",89:"a6aa9e1f",103:"ccc49370",110:"66406991",193:"f55d3e7a",237:"1df93b7f",242:"c71491fd",326:"c844b82d",368:"a94703ab",414:"393be207",453:"30a24c52",460:"9abc7bc7",477:"b2f554cd",504:"822bd8ab",518:"a7bd4aaa",525:"ea88f2a1",533:"b2b675dd",535:"814f3328",589:"5c868d36",607:"533a09ca",608:"9e4087bc",610:"6875c492",652:"ea13dd3a",661:"5e95c892",671:"0e384e19",682:"c36ecdcb",713:"a7023ddc",755:"e44a2883",792:"dff1c289",813:"4b1723f1",817:"14eb3368",818:"1e4232ab",859:"18c41134",885:"7f5460c2",918:"17896441"}[e]||e)+"."+{13:"1d6bda03",53:"66d34ebd",70:"1a5f2321",85:"7a84b45b",89:"8e1e7c18",103:"4cec8659",110:"a99900f4",193:"bbfa9d5d",237:"f3fce5b2",242:"b6cfb1ed",326:"4ce65e34",368:"b207b1ef",404:"4afbde99",414:"5c96412d",453:"c8008b71",460:"bb874be7",477:"1b46585f",504:"c2feffd2",518:"39e33d3e",525:"fda74e0a",533:"87b36ee0",535:"d472087f",589:"cb370952",607:"1ac35a03",608:"563d300f",610:"c45f48fb",652:"04b745f0",661:"c37a1170",671:"90cff521",677:"af8b943c",682:"055c7000",713:"e31d725a",755:"3d0889b9",772:"f7afe75c",792:"b2dbee2f",813:"cf30a1c5",817:"df4c4179",818:"7d7afb16",859:"fad01f90",885:"cfc5aa32",918:"6ab4aec7"}[e]+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},c="new-docs:",o.l=(e,a,t,f)=>{if(r[e])r[e].push(a);else{var d,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i<b.length;i++){var u=b[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==c+t){d=u;break}}d||(n=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,o.nc&&d.setAttribute("nonce",o.nc),d.setAttribute("data-webpack",c+t),d.src=e),r[e]=[a];var l=(a,t)=>{d.onerror=d.onload=null,clearTimeout(s);var c=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),c&&c.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),n&&document.head.appendChild(d)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.p="/",o.gca=function(e){return e={17896441:"918",66406991:"110","01a85c17":"13","935f2afb":"53",f196f4a4:"70","1f391b9e":"85",a6aa9e1f:"89",ccc49370:"103",f55d3e7a:"193","1df93b7f":"237",c71491fd:"242",c844b82d:"326",a94703ab:"368","393be207":"414","30a24c52":"453","9abc7bc7":"460",b2f554cd:"477","822bd8ab":"504",a7bd4aaa:"518",ea88f2a1:"525",b2b675dd:"533","814f3328":"535","5c868d36":"589","533a09ca":"607","9e4087bc":"608","6875c492":"610",ea13dd3a:"652","5e95c892":"661","0e384e19":"671",c36ecdcb:"682",a7023ddc:"713",e44a2883:"755",dff1c289:"792","4b1723f1":"813","14eb3368":"817","1e4232ab":"818","18c41134":"859","7f5460c2":"885"}[e]||e,o.p+o.u(e)},(()=>{var e={303:0,532:0};o.f.j=(a,t)=>{var r=o.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var c=new Promise(((t,c)=>r=e[a]=[t,c]));t.push(r[2]=c);var f=o.p+o.u(a),d=new Error;o.l(f,(t=>{if(o.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var c=t&&("load"===t.type?"missing":t.type),f=t&&t.target&&t.target.src;d.message="Loading chunk "+a+" failed.\n("+c+": "+f+")",d.name="ChunkLoadError",d.type=c,d.request=f,r[1](d)}}),"chunk-"+a,a)}},o.O.j=a=>0===e[a];var a=(a,t)=>{var r,c,f=t[0],d=t[1],n=t[2],b=0;if(f.some((a=>0!==e[a]))){for(r in d)o.o(d,r)&&(o.m[r]=d[r]);if(n)var i=n(o)}for(a&&a(t);b<f.length;b++)c=f[b],o.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return o.O(i)},t=self.webpackChunknew_docs=self.webpackChunknew_docs||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))})()})(); \ No newline at end of file diff --git a/banner.png b/banner.png deleted file mode 100644 index 5a3175f5accfe4c73c6ae5d0505099ac9e16d907..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78083 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�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 SYV)0b>Z-AoQImn&{r>^qlQJd% diff --git a/beta.html b/beta.html deleted file mode 100644 index e95efbff0..000000000 --- a/beta.html +++ /dev/null @@ -1,70 +0,0 @@ -<!DOCTYPE HTML> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta charset="utf-8" /> - <title>LIPS beta demo - - - - - - - - - - - - - - - - - - diff --git a/bin/lips.js b/bin/lips.js deleted file mode 100755 index 2168d6d27..000000000 --- a/bin/lips.js +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env node - -const {exec, Formatter, balanced_parenthesis, tokenize, env, version} = require('../dist/lips'); -const fs = require('fs'); -const {format} = require('util'); -const readline = require('readline'); - -// ----------------------------------------------------------------------------- -// code taken from jQuery Terminal -function parse_options(arg, options) { - var settings = Object.assign({}, { - boolean: [] - }, options); - var result = { - _: [] - }; - function token(value) { - this.value = value; - } - var rest = arg.reduce(function(acc, arg) { - if (typeof arg !== 'string') { - arg = String(arg); - } - if (arg.match(/^-/) && acc instanceof token) { - result[acc.value] = true; - } - if (arg.match(/^--/)) { - var name = arg.replace(/^--/, ''); - if (settings.boolean.indexOf(name) === -1) { - return new token(name); - } else { - result[name] = true; - } - } else if (arg.match(/^-/)) { - var single = arg.replace(/^-/, '').split(''); - if (settings.boolean.indexOf(single.slice(-1)[0]) === -1) { - var last = single.pop(); - } - single.forEach(function(single) { - result[single] = true; - }); - if (last) { - return new token(last); - } - } else if (acc instanceof token) { - result[acc.value] = arg; - } else if (arg) { - result._.push(arg); - } - return null; - }, null); - if (rest instanceof token) { - result[rest.value] = true; - } - return result; -} - -// ----------------------------------------------------------------------------- -function run(code, env) { - if (typeof code !== 'string') { - code = code.toString(); - } - return exec(code, env).catch(function(e) { - console.error(e.message); - if (e.code) { - console.error(e.code.map((line, i) => `[${i + 1}]: ${line}`).join('\n')); - } - }); -} - -// ----------------------------------------------------------------------------- -function print(result) { - if (result.length) { - var last = result.pop(); - if (last !== undefined) { - console.log(env.get('string')(last)); - } - } -} -// ----------------------------------------------------------------------------- -function boostrap() { - var path; - try { - path = require.resolve('./examples/helpers.lips'); - } catch (e) { - path = require.resolve('@jcubic/lips/examples/helpers.lips'); - } - var data = fs.readFileSync(path); - return run(data, env); -} - -// ----------------------------------------------------------------------------- -function indent(code, indent, offset) { - var formatter = new Formatter(code); - return formatter.indent({ - indent, - offset - }); -} - -// ----------------------------------------------------------------------------- -const options = parse_options(process.argv.slice(2)); -const intro = 'LIPS Interpreter (ver. ' + version + ')\n' + - 'Copyright (c) 2018-2019 Jakub T. Jankiewicz \n'; - -if (options.c) { - boostrap().then(function() { - run(options.c, env).then(print); - }); -} else if (options._.length === 1) { - fs.readFile(options._[0], function(err, data) { - if (err) { - console.error(err); - } else { - boostrap().then(function() { - return run(data.toString().replace(/^#!.*\n/, ''), env); - }); - } - }); -} else if (options.h) { - var name = process.argv[1]; - console.log(format('%s\nusage:\n%s [-h]|[-c ]|\n\n\t-h this help message\n\t-c execute' + - ' code\n\nif called without arguments it will run REPL and if called with one argument' + - '\nit will treat it as filename and execute it.', intro, name)); -} else { - console.log(intro); - var prompt = 'lips> '; - var continuePrompt = '... '; - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - prompt: prompt, - terminal: !!process.stdin.isTTY - }); - if (process.stdin.isTTY) { - rl.prompt(); - } - var code = ''; - var multiline = false; - var resolve; - var e = env.inherit('name', { - stdin: { - read: function() { - return new Promise(function(resolve) { - rl.question('', resolve); - }); - } - } - }); - boostrap().then(function() { - rl.on('line', function(line) { - code += line + '\n'; - if (balanced_parenthesis(code)) { - rl.pause(); - run(code, e).then(function(result) { - if (process.stdin.isTTY) { - print(result); - if (multiline) { - rl.setPrompt(prompt); - } - code = ''; - rl.prompt(); - } - rl.resume(); - }).catch(function() { - if (process.stdin.isTTY) { - if (multiline) { - rl.setPrompt(prompt); - } - rl.prompt(); - } - code = ''; - }); - } else { - multiline = true; - var i = indent(code, 2, prompt.length - continuePrompt.length); - rl.setPrompt(continuePrompt); - rl.prompt(); - rl.write(new Array(i + 1).join(' ')); - } - }); - }); -} diff --git a/blog/archive/index.html b/blog/archive/index.html new file mode 100644 index 000000000..24b111703 --- /dev/null +++ b/blog/archive/index.html @@ -0,0 +1,14 @@ + + + + + +Archive | LIPS Scheme + + + + + +
+ + \ No newline at end of file diff --git a/blog/atom.xml b/blog/atom.xml new file mode 100644 index 000000000..a85244df5 --- /dev/null +++ b/blog/atom.xml @@ -0,0 +1,24 @@ + + + https://lips.js.org/blog + LIPS Scheme Blog + 2024-02-10T00:00:00.000Z + https://github.com/jpmonette/feed + + LIPS Scheme Blog + https://lips.js.org/img/favicon.ico + + <![CDATA[Welcome]]> + https://lips.js.org/blog/welcome + + 2024-02-10T00:00:00.000Z + + This is first article on LIPS blog. The blog is powered by Docusaurus.

]]>
+ + Jakub T. Jankiewicz + https://jakub.jankiewicz.org/ + + + +
+
\ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 000000000..dda5c411f --- /dev/null +++ b/blog/index.html @@ -0,0 +1,14 @@ + + + + + +Blog | LIPS Scheme + + + + + +
+ + \ No newline at end of file diff --git a/blog/rss.xml b/blog/rss.xml new file mode 100644 index 000000000..62031264f --- /dev/null +++ b/blog/rss.xml @@ -0,0 +1,22 @@ + + + + LIPS Scheme Blog + https://lips.js.org/blog + LIPS Scheme Blog + Sat, 10 Feb 2024 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + <![CDATA[Welcome]]> + https://lips.js.org/blog/welcome + https://lips.js.org/blog/welcome + Sat, 10 Feb 2024 00:00:00 GMT + + This is first article on LIPS blog. The blog is powered by Docusaurus.

]]>
+ hello + lips +
+
+
\ No newline at end of file diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html new file mode 100644 index 000000000..fb46e9536 --- /dev/null +++ b/blog/tags/hello/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "hello" | LIPS Scheme + + + + + +

One post tagged with "hello"

View All Tags
+ + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html new file mode 100644 index 000000000..60199d56e --- /dev/null +++ b/blog/tags/index.html @@ -0,0 +1,14 @@ + + + + + +Tags | LIPS Scheme + + + + + +

Tags

+ + \ No newline at end of file diff --git a/blog/tags/lips/index.html b/blog/tags/lips/index.html new file mode 100644 index 000000000..e26c5c35d --- /dev/null +++ b/blog/tags/lips/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "lips" | LIPS Scheme + + + + + +

One post tagged with "lips"

View All Tags
+ + \ No newline at end of file diff --git a/blog/welcome/index.html b/blog/welcome/index.html new file mode 100644 index 000000000..98ed42f29 --- /dev/null +++ b/blog/welcome/index.html @@ -0,0 +1,14 @@ + + + + + +Welcome | LIPS Scheme + + + + + +
+ + \ No newline at end of file diff --git a/build.js b/build.js deleted file mode 100755 index 5b01b1d8d..000000000 --- a/build.js +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env node - -var fs = require('fs'); - -const readFile = fs.promises.readFile; -const writeFile = fs.promises.writeFile; - -Promise.all([readFile('head.html'), readFile('footer.html')]).then(([head, footer]) => { - head = head.toString(); - footer = footer.toString(); - ['index', 'docs', 'screenshot', 'reference'].forEach(file => { - readFile(`${file}.tmpl`).then(content => { - content = content.toString() - .replace(/\{\{HEAD\}\}/, head) - .replace(/\{\{FOOTER\}\}/, footer); - writeFile(`${file}.html`, content); - }); - }); -}); diff --git a/dist/lips.js b/dist/lips.js deleted file mode 100644 index 55c32b205..000000000 --- a/dist/lips.js +++ /dev/null @@ -1,5993 +0,0 @@ -/**@license - * LIPS is Pretty Simple - simple scheme like lisp in JavaScript - v. 0.20.0 - * - * Copyright (c) 2018-2019 Jakub T. Jankiewicz - * Released under the MIT license - * - * includes: - * - * unfetch by Jason Miller (@developit) MIT License - * - * contentloaded.js - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - * - * dist file generated by Babel includes code - * Copyright (c) 2014-present, Facebook, Inc. - * released under MIT license - * - * build: Sat, 21 Mar 2020 18:53:47 +0000 - */ -(function () { - 'use strict'; - - function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; - } - - var setPrototypeOf = createCommonjsModule(function (module) { - function _setPrototypeOf(o, p) { - module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); - } - - module.exports = _setPrototypeOf; - }); - - var construct = createCommonjsModule(function (module) { - function isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - - try { - Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); - return true; - } catch (e) { - return false; - } - } - - function _construct(Parent, args, Class) { - if (isNativeReflectConstruct()) { - module.exports = _construct = Reflect.construct; - } else { - module.exports = _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) setPrototypeOf(instance, Class.prototype); - return instance; - }; - } - - return _construct.apply(null, arguments); - } - - module.exports = _construct; - }); - - var runtime_1 = createCommonjsModule(function (module) { - - var runtime = (function (exports) { - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined$1; // More compressible than void 0. - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); - - // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - generator._invoke = makeInvokeMethod(innerFn, self, context); - - return generator; - } - exports.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - var IteratorPrototype = {}; - IteratorPrototype[iteratorSymbol] = function () { - return this; - }; - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - if (NativeIteratorPrototype && - NativeIteratorPrototype !== Op && - hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = - Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunctionPrototype[toStringTagSymbol] = - GeneratorFunction.displayName = "GeneratorFunction"; - - // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function(method) { - prototype[method] = function(arg) { - return this._invoke(method, arg); - }; - }); - } - - exports.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - exports.mark = function(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - if (!(toStringTagSymbol in genFun)) { - genFun[toStringTagSymbol] = "GeneratorFunction"; - } - } - genFun.prototype = Object.create(Gp); - return genFun; - }; - - // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - exports.awrap = function(arg) { - return { __await: arg }; - }; - - function AsyncIterator(generator) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - if (value && - typeof value === "object" && - hasOwn.call(value, "__await")) { - return Promise.resolve(value.__await).then(function(value) { - invoke("next", value, resolve, reject); - }, function(err) { - invoke("throw", err, resolve, reject); - }); - } - - return Promise.resolve(value).then(function(unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function(error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new Promise(function(resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = - // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then( - callInvokeWithMethodAndArg, - // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg - ) : callInvokeWithMethodAndArg(); - } - - // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - AsyncIterator.prototype[asyncIteratorSymbol] = function () { - return this; - }; - exports.AsyncIterator = AsyncIterator; - - // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - exports.async = function(innerFn, outerFn, self, tryLocsList) { - var iter = new AsyncIterator( - wrap(innerFn, outerFn, self, tryLocsList) - ); - - return exports.isGeneratorFunction(outerFn) - ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function(result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } - - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } - - // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (method === undefined$1) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined$1; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError( - "The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (! info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; - - // Resume execution at the desired location (see delegateYield). - context.next = delegate.nextLoc; - - // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined$1; - } - - } else { - // Re-yield the result returned by the delegate method. - return info; - } - - // The delegate iterator is finished, so forget it and continue with - // the outer generator. - context.delegate = null; - return ContinueSentinel; - } - - // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - defineIteratorMethods(Gp); - - Gp[toStringTagSymbol] = "Generator"; - - // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - Gp[iteratorSymbol] = function() { - return this; - }; - - Gp.toString = function() { - return "[object Generator]"; - }; - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - exports.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined$1; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - exports.values = values; - - function doneResult() { - return { value: undefined$1, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function(skipTempReset) { - this.prev = 0; - this.next = 0; - // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - this.sent = this._sent = undefined$1; - this.done = false; - this.delegate = null; - - this.method = "next"; - this.arg = undefined$1; - - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && - hasOwn.call(this, name) && - !isNaN(+name.slice(1))) { - this[name] = undefined$1; - } - } - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined$1; - } - - return !! caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined$1; - } - - return ContinueSentinel; - } - }; - - // Regardless of whether this script is executing as a CommonJS module - // or not, return the runtime object so that we can declare the variable - // regeneratorRuntime in the outer scope, which allows this module to be - // injected easily by `bin/regenerator --include-runtime script.js`. - return exports; - - }( - // If this script is executing as a CommonJS module, use module.exports - // as the regeneratorRuntime namespace. Otherwise create a new empty - // object. Either way, the resulting object will be used to initialize - // the regeneratorRuntime variable at the top of this file. - module.exports - )); - - try { - regeneratorRuntime = runtime; - } catch (accidentalStrictMode) { - // This module should not be running in strict mode, so the above - // assignment should always work unless something is misconfigured. Just - // in case runtime.js accidentally runs in strict mode, we can escape - // strict mode using a global Function call. This could conceivably fail - // if a Content Security Policy forbids using Function, but in that case - // the proper solution is to fix the accidental strict mode problem. If - // you've misconfigured your bundler to force strict mode and applied a - // CSP to forbid Function, and you're not willing to fix either of those - // problems, please detail your unique predicament in a GitHub issue. - Function("r", "regeneratorRuntime = r")(runtime); - } - }); - - var regenerator = runtime_1; - - function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } - } - - function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - - _next(undefined); - }); - }; - } - - var asyncToGenerator = _asyncToGenerator; - - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { - arr2[i] = arr[i]; - } - - return arr2; - } - } - - var arrayWithoutHoles = _arrayWithoutHoles; - - function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); - } - - var iterableToArray = _iterableToArray; - - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); - } - - var nonIterableSpread = _nonIterableSpread; - - function _toConsumableArray(arr) { - return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); - } - - var toConsumableArray = _toConsumableArray; - - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - - var arrayWithHoles = _arrayWithHoles; - - function _iterableToArrayLimit(arr, i) { - if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { - return; - } - - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; - } - - var iterableToArrayLimit = _iterableToArrayLimit; - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - - var nonIterableRest = _nonIterableRest; - - function _slicedToArray(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); - } - - var slicedToArray = _slicedToArray; - - var _typeof_1 = createCommonjsModule(function (module) { - function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } - - function _typeof(obj) { - if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { - module.exports = _typeof = function _typeof(obj) { - return _typeof2(obj); - }; - } else { - module.exports = _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); - }; - } - - return _typeof(obj); - } - - module.exports = _typeof; - }); - - - (function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['bn.js'], function (BN) { - return root.lips = factory(root, BN); - }); - } else if ((typeof module === "undefined" ? "undefined" : _typeof_1(module)) === 'object' && module.exports) { - // Node/CommonJS - module.exports = factory(root, require('bn.js')); - } else { - root.lips = factory(root, root.BN); - } - })(typeof global !== 'undefined' ? global : window, function (root, BN, undefined$1) { - /* eslint-disable */ - - /* istanbul ignore next */ - function contentLoaded(win, fn) { - var done = false, - top = true, - doc = win.document, - root = doc.documentElement, - modern = doc.addEventListener, - add = modern ? 'addEventListener' : 'attachEvent', - rem = modern ? 'removeEventListener' : 'detachEvent', - pre = modern ? '' : 'on', - init = function init(e) { - if (e.type == 'readystatechange' && doc.readyState != 'complete') return; - (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); - if (!done && (done = true)) fn.call(win, e.type || e); - }, - poll = function poll() { - try { - root.doScroll('left'); - } catch (e) { - setTimeout(poll, 50); - return; - } - - init('poll'); - }; - - if (doc.readyState == 'complete') fn.call(win, 'lazy');else { - if (!modern && root.doScroll) { - try { - top = !win.frameElement; - } catch (e) {} - - if (top) poll(); - } - - doc[add](pre + 'DOMContentLoaded', init, false); - doc[add](pre + 'readystatechange', init, false); - win[add](pre + 'load', init, false); - } - } - - if (!root.fetch) { - root.fetch = function (url, options) { - options = options || {}; - return new Promise(function (resolve, reject) { - var request = new XMLHttpRequest(); - request.open(options.method || 'get', url, true); - - for (var i in options.headers) { - request.setRequestHeader(i, options.headers[i]); - } - - request.withCredentials = options.credentials == 'include'; - - request.onload = function () { - resolve(response()); - }; - - request.onerror = reject; - request.send(options.body || null); - - function response() { - var _keys = [], - all = [], - headers = {}, - header; - request.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function (m, key, value) { - _keys.push(key = key.toLowerCase()); - - all.push([key, value]); - header = headers[key]; - headers[key] = header ? "".concat(header, ",").concat(value) : value; - }); - return { - ok: (request.status / 100 | 0) == 2, - // 200-299 - status: request.status, - statusText: request.statusText, - url: request.responseURL, - clone: response, - text: function text() { - return Promise.resolve(request.responseText); - }, - json: function json() { - return Promise.resolve(request.responseText).then(JSON.parse); - }, - blob: function blob() { - return Promise.resolve(new Blob([request.response])); - }, - headers: { - keys: function keys() { - return _keys; - }, - entries: function entries() { - return all; - }, - get: function get(n) { - return headers[n.toLowerCase()]; - }, - has: function has(n) { - return n.toLowerCase() in headers; - } - } - }; - } - }); - }; - } - /* eslint-enable */ - // parse_argument based on function from jQuery Terminal - - - var re_re = /^\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimy]*)$/; - var int_re = /^[-+]?[0-9]+([eE][-+]?[0-9]+)?$/; - var float_re = /^([-+]?((\.[0-9]+|[0-9]+\.[0-9]+)([eE][-+]?[0-9]+)?)|[0-9]+\.)$/; // ---------------------------------------------------------------------- - - function parse_argument(arg) { - function parse_string(string) { - // remove quotes if before are even number of slashes - // we don't remove slases becuase they are handled by JSON.parse - //string = string.replace(/([^\\])['"]$/, '$1'); - if (string.match(/^['"]/)) { - if (string === '""' || string === "''") { - return ''; - } - - var quote = string[0]; - var re = new RegExp("((^|[^\\\\])(?:\\\\\\\\)*)" + quote, "g"); - string = string.replace(re, "$1"); - } // use build in function to parse rest of escaped characters - - - return JSON.parse('"' + string.replace(/\n/g, '\\n') + '"'); - } - - var regex = arg.match(re_re); - - if (regex) { - return new RegExp(regex[1], regex[2]); - } else if (arg.match(/['"]/)) { - return parse_string(arg); - } else if (arg.match(int_re)) { - return LNumber(parseFloat(arg)); - } else if (arg.match(float_re)) { - return LNumber(parseFloat(arg), true); - } else if (arg === 'nil') { - return nil; - } else if (arg === 'true') { - return true; - } else if (arg === 'false') { - return false; - } else { - return new LSymbol(arg); - } - } // ---------------------------------------------------------------------- - - - function is_symbol_string(str) { - return !(['(', ')'].includes(str) || str.match(re_re) || str.match(/['"]/) || str.match(int_re) || str.match(float_re) || ['nil', 'true', 'false'].includes(str)); - } // ---------------------------------------------------------------------- - - /* eslint-disable */ - - - var pre_parse_re = /("(?:\\[\S\s]|[^"])*"|\/(?! )[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimy]*(?=\s|\(|\)|$)|;.*)/g; - var string_re = /"(?:\\[\S\s]|[^"])*"/g; //var tokens_re = /("(?:\\[\S\s]|[^"])*"|\/(?! )[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimy]*(?=\s|\(|\)|$)|\(|\)|'|"(?:\\[\S\s]|[^"])+|\n|(?:\\[\S\s]|[^"])*"|;.*|(?:[-+]?(?:(?:\.[0-9]+|[0-9]+\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\.)[0-9]|\.{2,}|\.|,@|,|#|`|[^(\s)]+)/gim; - // ---------------------------------------------------------------------- - - function makeTokenRe() { - var tokens = Object.keys(specials).map(escapeRegex).join('|'); - return new RegExp("(\"(?:\\\\[\\S\\s]|[^\"])*\"|\\/(?! )[^\\/\\\\]*(?:\\\\[\\S\\s][^\\/\\\\]*)*\\/[gimy]*(?=\\s|\\(|\\)|$)|\\(|\\)|'|\"(?:\\\\[\\S\\s]|[^\"])+|\\n|(?:\\\\[\\S\\s]|[^\"])*\"|;.*|(?:[-+]?(?:(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)[0-9]|\\.{2,}|".concat(tokens, "|[^(\\s)]+)"), 'gim'); - } - /* eslint-enable */ - // ---------------------------------------------------------------------- - - - function lastItem(array) { - var n = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : 1; - return array[array.length - n]; - } // ---------------------------------------------------------------------- - - - function escapeRegex(str) { - if (typeof str === 'string') { - var special = /([-\\^$[\]()+{}?*.|])/g; - return str.replace(special, '\\$1'); - } - } // ---------------------------------------------------------------------- - - - function tokens(str) { - var tokens_re = makeTokenRe(); - str = str.replace(/\n\r|\r/g, '\n'); - var count = 0; - var line = 0; - var tokens = []; - var current_line = []; - var col = 0; - str.split(pre_parse_re).filter(Boolean).forEach(function (string) { - if (string.match(pre_parse_re)) { - col = 0; - - if (current_line.length) { - var lastToken = lastItem(current_line); - - if (lastToken.token.match(/\n/)) { - var last_line = lastToken.token.split('\n').pop(); - col += last_line.length; - } else { - col += lastToken.token.length; - } - - col += lastToken.col; - } - - var token = { - col: col, - line: line, - token: string, - offset: count - }; - tokens.push(token); - current_line.push(token); - count += string.length; - col += string.length; - line += (string.match("\n") || []).length; - return; - } - - string.split(tokens_re).filter(Boolean).forEach(function (string) { - var token = { - col: col, - line: line, - token: string, - offset: count - }; - col += string.length; - count += string.length; - tokens.push(token); - current_line.push(token); - - if (string === '\n') { - ++line; - current_line = []; - col = 0; - } - }); - }); - return tokens; - } // ---------------------------------------------------------------------- - - - function tokenize(str, extra) { - if (extra) { - return tokens(str); - } else { - return tokens(str).map(function (token) { - return token.token.trim(); - }).filter(function (token) { - return token && !token.match(/^;/); - }); - } - } // ---------------------------------------------------------------------- - - - var specials = { - "'": new LSymbol('quote'), - '`': new LSymbol('quasiquote'), - ',@': new LSymbol('unquote-splicing'), - ',': new LSymbol('unquote') - }; // ---------------------------------------------------------------------- - // :: tokens are the array of strings from tokenizer - // :: the return value is lisp code created out of Pair class - // ---------------------------------------------------------------------- - - function parse(tokens) { - if (typeof tokens === 'string') { - tokens = tokenize(tokens); - } - - var stack = []; - var result = []; - var special = null; - var special_tokens = Object.keys(specials); - var special_forms = special_tokens.map(function (s) { - return specials[s].name; - }); - var parents = 0; - var first_value = false; - var specials_stack = []; - var single_list_specials = []; - var special_count = 0; - - function pop_join() { - var top = stack[stack.length - 1]; - - if (top instanceof Array && top[0] instanceof LSymbol && special_forms.includes(top[0].name) && stack.length > 1 && !top[0].literal) { - stack.pop(); - - if (stack[stack.length - 1].length === 1 && stack[stack.length - 1][0] instanceof LSymbol) { - stack[stack.length - 1].push(top); - } else if (stack[stack.length - 1] instanceof Pair) { - if (stack[stack.length - 1].cdr instanceof Pair) { - stack[stack.length - 1] = new Pair(stack[stack.length - 1], Pair.fromArray(top)); - } else { - stack[stack.length - 1].cdr = Pair.fromArray(top); - } - } else { - stack[stack.length - 1].push(top); - } - } - } - - tokens.forEach(function (token) { - var top = stack[stack.length - 1]; - - if (special_tokens.indexOf(token) !== -1) { - special_count++; - special = token; - stack.push([specials[special]]); - - if (!special) { - single_list_specials = []; - } - - single_list_specials.push(special); - } else { - if (special) { - specials_stack.push(single_list_specials); - single_list_specials = []; - } - - if (token === '(') { - first_value = true; - parents++; - stack.push([]); - special = null; - special_count = 0; - } else if (token === '.' && !first_value) { - stack[stack.length - 1] = Pair.fromArray(top); - } else if (token === ')') { - parents--; - - if (!stack.length) { - throw new Error('Unbalanced parenthesis'); - } - - if (stack.length === 1) { - result.push(stack.pop()); - } else if (stack.length > 1) { - var list = stack.pop(); - top = stack[stack.length - 1]; - - if (top instanceof Array) { - top.push(list); - } else if (top instanceof Pair) { - top.append(Pair.fromArray(list)); - } - - if (specials_stack.length) { - single_list_specials = specials_stack.pop(); - - while (single_list_specials.length) { - pop_join(); - single_list_specials.pop(); - } - } else { - pop_join(); - } - } - - if (parents === 0 && stack.length) { - result.push(stack.pop()); - } - } else { - first_value = false; - var value = parse_argument(token); - - if (special) { - // special without list like ,foo - while (special_count--) { - stack[stack.length - 1].push(value); - value = stack.pop(); - } - - specials_stack.pop(); - special_count = 0; - special = false; - } else if (value instanceof LSymbol && special_forms.includes(value.name)) { - // handle parsing os special forms as literal symbols - // (values they expand into) - value.literal = true; - } - - top = stack[stack.length - 1]; - - if (top instanceof Pair) { - var node = top; - - while (true) { - if (node.cdr === nil) { - if (value instanceof Array) { - node.cdr = Pair.fromArray(value); - } else { - node.cdr = value; - } - - break; - } else { - node = node.cdr; - } - } - } else if (!stack.length) { - result.push(value); - } else { - top.push(value); - } - } - } - }); - - if (!tokens.filter(function (t) { - return t.match(/^[()]$/); - }).length && stack.length) { - // list of parser macros - result = result.concat(stack); - stack = []; - } - - if (stack.length) { - throw new Error('Unbalanced parenthesis 2'); - } - - return result.map(function (arg) { - if (arg instanceof Array) { - return Pair.fromArray(arg); - } - - return arg; - }); - } // ---------------------------------------------------------------------- - - - function unpromise(value) { - var fn = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : function (x) { - return x; - }; - var error = arguments.length > 2 && arguments[2] !== undefined$1 ? arguments[2] : null; - - if (isPromise(value)) { - var ret = value.then(fn); - - if (error === null) { - return ret; - } else { - return ret["catch"](error); - } - } - - return fn(value); - } // ---------------------------------------------------------------------- - - - function matcher(name, arg) { - if (arg instanceof RegExp) { - return function (x) { - return String(x).match(arg); - }; - } else if (typeof arg !== 'function') { - throw new Error("".concat(name, " argument need to be a function or RegExp")); - } else { - return arg; - } - } // ---------------------------------------------------------------------- - // :: documentaton decorator to LIPS functions if lines starts with : - // :: they are ignored (not trim) otherwise it trim so - // :: so you can have indent in source code - // ---------------------------------------------------------------------- - - - function doc(fn, doc, dump) { - if (doc) { - if (dump) { - fn.__doc__ = doc; - } else { - fn.__doc__ = trimLines(doc); - } - } - - return fn; - } // ---------------------------------------------------------------------- - - - function trimLines(string) { - return string.split('\n').map(function (line) { - return line.trim(); - }).join('\n'); - } // ---------------------------------------------------------------------- - // return last S-Expression - // @param tokens - array of tokens (objects from tokenizer or strings) - // @param sexp - number of expression to look behind - // ---------------------------------------------------------------------- - - - function previousSexp(tokens) { - var sexp = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : 1; - var i = tokens.length; - - if (sexp <= 0) { - throw Error("previousSexp: Invlaid argument sexp = ".concat(sexp)); - } - - outer: while (sexp-- && i >= 0) { - var count = 1; - - while (count > 0) { - var token = tokens[--i]; - - if (!token) { - break outer; - } - - if (token === '(' || token.token === '(') { - count--; - } else if (token === ')' || token.token === ')') { - count++; - } - } - - i--; - } - - return tokens.slice(i + 1); - } // ---------------------------------------------------------------------- - // :: find number of spaces in line - // ---------------------------------------------------------------------- - - - function lineIndent(tokens) { - if (!tokens || !tokens.length) { - return 0; - } - - var i = tokens.length; - - if (tokens[i - 1].token === '\n') { - return 0; - } - - while (--i) { - if (tokens[i].token === '\n') { - var token = (tokens[i + 1] || {}).token; - - if (token) { - return token.length; - } - } - } - - return 0; - } // ---------------------------------------------------------------------- - // :: token based pattern matching - // ---------------------------------------------------------------------- - - - function match(pattern, input) { - return inner_match(pattern, input) === input.length; - - function inner_match(pattern, input) { - function empty_match() { - return p > 0 && i > 0 && pattern[p - 1] === input[i - 1] && pattern[p + 1] === input[i]; - } - - function not_symbol_match() { - return pattern[p] === Symbol["for"]('symbol') && !is_symbol_string(input[i]); - } - - var p = 0; - var glob = {}; - - for (var i = 0; i < input.length; ++i) { - if (typeof pattern[p] === 'undefined') { - return i; - } - - if (!input[i].trim()) { - continue; - } - - if (pattern[p] instanceof Pattern) { - if (pattern[p].flag === '+') { - var m; - - while (i < input.length) { - m = inner_match(pattern[p].pattern, input.slice(i)); - - if (m === -1) { - break; - } - - i += m; - } - - if (m === -1 && input[i] && !pattern[p + 1]) { - return -1; - } - - p++; - i -= 1; - continue; - } else if (pattern[p].flag === '?') { - m = inner_match(pattern[p].pattern, input.slice(i)); - - if (m === -1) { - i -= 2; // if not found use same test same input again - } else { - p++; - } - - continue; - } - } - - if (pattern[p] instanceof RegExp) { - if (!input[i].match(pattern[p])) { - return -1; - } - } else if (typeof pattern[p] === 'string') { - if (pattern[p] !== input[i]) { - return -1; - } - } else if (_typeof_1(pattern[p]) === 'symbol') { - if (pattern[p] === Symbol["for"]('*')) { - // ignore S-expressions inside for case when next pattern is ')' - glob[p] = glob[p] || 0; - - if (input[i] === '(') { - glob[p]++; - } else if (input[i] === ')') { - glob[p]--; - } - - if (empty_match()) { - i -= 1; - } else if (typeof pattern[p + 1] !== 'undefined' && glob[p] === 0 && pattern[p + 1] !== input[i + 1] || glob[p] > 0) { - continue; - } - } else if (not_symbol_match()) { - return -1; - } - } else if (pattern[p] instanceof Array) { - var inc = inner_match(pattern[p], input.slice(i)); - - if (inc === -1 || inc + i > input.length) { - // if no more input it's not match - return -1; - } - - i += inc - 1; - p++; - continue; - } else { - return -1; - } - - p++; - } - - if (pattern.length !== p) { - // if there are still patterns it's not match - return -1; - } - - return input.length; - } - } // ---------------------------------------------------------------------- - // :: Code formatter class - // :: based on http://community.schemewiki.org/?scheme-style - // :: and GNU Emacs scheme mode - // :: it rely on meta data from tokenizer function - // ---------------------------------------------------------------------- - - - function Formatter(code) { - this._code = code.replace(/\r/g, ''); - } // ---------------------------------------------------------------------- - - - Formatter.defaults = { - offset: 0, - indent: 2, - specials: [/^define/, 'lambda', 'let', 'let*'] - }; - Formatter.match = match; // ---------------------------------------------------------------------- - // :: return indent for next line - // ---------------------------------------------------------------------- - - Formatter.prototype._options = function _options(options) { - var defaults = Formatter.defaults; - - if (typeof options === 'undefined') { - return Object.assign({}, defaults); - } - - var specials = options && options.specials || []; - return Object.assign({}, defaults, options, { - specials: defaults.specials.concat(specials) - }); - }; // ---------------------------------------------------------------------- - - - Formatter.prototype.indent = function indent(options) { - var tokens = tokenize(this._code, true); - return this._indent(tokens, options); - }; // ---------------------------------------------------------------------- - - - Formatter.matchSpecial = function (token, settings) { - var specials = settings.specials; - - if (specials.indexOf(token) !== -1) { - return true; - } else { - var regexes = specials.filter(function (s) { - return s instanceof RegExp; - }); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined$1; - - try { - for (var _iterator = regexes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var re = _step.value; - - if (token.match(re)) { - return true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return false; - }; // ---------------------------------------------------------------------- - - - Formatter.prototype._indent = function _indent(tokens, options) { - var settings = this._options(options); - - var spaces = lineIndent(tokens); - var sexp = previousSexp(tokens); - - if (sexp && sexp.length) { - if (sexp[0].line > 0) { - settings.offset = 0; - } - - if (sexp.length === tokens.length) { - return settings.offset + sexp[0].col; - } else if (sexp.length === 1) { - return settings.offset + sexp[0].col + 1; - } else if (Formatter.matchSpecial(sexp[1].token, settings)) { - return settings.offset + sexp[0].col + settings.indent; - } else if (sexp[0].line < sexp[1].line) { - return settings.offset + sexp[0].col + 1; - } else if (sexp.length > 3 && sexp[1].line === sexp[3].line) { - if (sexp[1].token === '(') { - return settings.offset + sexp[1].col; - } - - return settings.offset + sexp[3].col; - } else if (sexp[0].line === sexp[1].line) { - return settings.offset + settings.indent + sexp[0].col; - } else { - var next_tokens = sexp.slice(2); - - for (var i = 0; i < next_tokens.length; ++i) { - var token = next_tokens[i]; - - if (token.token.trim()) { - return token.col; - } - } - } - } else { - return 0; - } - - return spaces + settings.indent; - }; // ---------------------------------------------------------------------- - - - function Ahead(pattern) { - this.pattern = pattern; - } // ---------------------------------------------------------------------- - - - Ahead.prototype.match = function (string) { - return string.match(this.pattern); - }; // ---------------------------------------------------------------------- - - - function Pattern(pattern, flag) { - this.pattern = pattern; - this.flag = flag; - } // ---------------------------------------------------------------------- - - - Formatter.Pattern = Pattern; - Formatter.Ahead = Ahead; - var notParen = new Ahead(/[^)]/); - var glob = Symbol["for"]('*'); - var sexp = new Pattern(['(', glob, ')'], '+'); - var symbol = new Pattern([Symbol["for"]('symbol')], '?'); - var let_value = new Pattern(['(', Symbol["for"]('symbol'), glob, ')'], '+'); // rules for breaking S-Expressions into lines - - Formatter.rules = [[['(', 'begin'], 1], [['(', 'begin', sexp], 1, notParen], [['(', /^let\*?$/, symbol, '(', let_value, ')'], 1], [['(', /^let\*?$/, symbol, '(', let_value], 2, notParen], [['(', /^let\*?$/, symbol, ['(', let_value, ')'], sexp], 1, notParen], [[/(?!lambda)/, '(', glob, ')'], 1, notParen], [['(', 'if', /[^()]/], 1], [['(', 'if', /[^()]/, glob], 1], [['(', 'if', ['(', glob, ')']], 1], [['(', 'if', ['(', glob, ')'], /[^()]/], 1], [['(', 'if', ['(', glob, ')'], ['(', glob, ')']], 1, notParen], [['(', /^(define|lambda)/, ['(', glob, ')'], string_re], 1], [['(', /^(define|lambda)/, '(', glob, ')'], 1], [['(', /^(define|lambda)/, ['(', glob, ')'], string_re, sexp], 1, notParen], [['(', /^(define|lambda)/, ['(', glob, ')'], sexp], 1, notParen]]; // ---------------------------------------------------------------------- - - Formatter.prototype["break"] = function () { - var code = this._code.replace(/\n[ \t]*/g, '\n '); - - var token = function token(t) { - if (t.token.match(string_re)) { - return t.token; - } else { - return t.token.replace(/\s+/, ' '); - } - }; - - var tokens = tokenize(code, true).map(token).filter(function (t) { - return t !== '\n'; - }); - var rules = Formatter.rules; - - for (var i = 0; i < tokens.length; ++i) { - if (!tokens[i].trim()) { - continue; - } - - var sub = tokens.slice(0, i); - var sexp = {}; - rules.map(function (b) { - return b[1]; - }).forEach(function (count) { - if (!sexp[count]) { - sexp[count] = previousSexp(sub, count); - } - }); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined$1; - - try { - for (var _iterator2 = rules[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _step2$value = slicedToArray(_step2.value, 3), - pattern = _step2$value[0], - count = _step2$value[1], - ext = _step2$value[2]; - - var m = match(pattern, sexp[count].filter(function (t) { - return t.trim(); - })); - var next = tokens.slice(i).find(function (t) { - return t.trim(); - }); - - if (m && (ext instanceof Ahead && ext.match(next) || !ext)) { - tokens.splice(i, 0, '\n'); - i++; - continue; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - - this._code = tokens.join(''); - return this; - }; // ---------------------------------------------------------------------- - - - Formatter.prototype._spaces = function (i) { - return new Array(i + 1).join(' '); - }; // ---------------------------------------------------------------------- - // :: auto formatting of code, it require to have newlines - // ---------------------------------------------------------------------- - - - Formatter.prototype.format = function format(options) { - // prepare code with single space after newline - // so we have space token to align - var code = this._code.replace(/[ \t]*\n[ \t]*/g, '\n '); - - var tokens = tokenize(code, true); - - var settings = this._options(options); - - var indent = 0; - var offset = 0; - - for (var i = 0; i < tokens.length; ++i) { - var token = tokens[i]; - - if (token.token === '\n') { - indent = this._indent(tokens.slice(0, i), settings); - offset += indent; - - if (tokens[i + 1]) { - tokens[i + 1].token = this._spaces(indent); // because we have single space as initial indent - - indent--; - offset--; - - for (var j = i + 2; j < tokens.length; ++j) { - tokens[j].offset += offset; - tokens[j].col += indent; - - if (tokens[j].token === '\n') { - // ++i is called after the loop - i = j - 1; - break; - } - } - } - } - } - - return tokens.map(function (token) { - if (token.token.match(string_re)) { - if (token.token.match(/\n/)) { - var spaces = new Array(token.col + 1).join(' '); - var lines = token.token.split('\n'); - token.token = [lines[0]].concat(lines.slice(1).map(function (line) { - return spaces + line; - })).join('\n'); - } - } - - return token.token; - }).join(''); - }; // ---------------------------------------------------------------------- - // :: flatten nested arrays - // :: source: https://stackoverflow.com/a/27282907/387194 - // ---------------------------------------------------------------------- - - - function flatten(array, mutable) { - var toString = Object.prototype.toString; - var arrayTypeStr = '[object Array]'; - var result = []; - var nodes = mutable && array || array.slice(); - var node; - - if (!array.length) { - return result; - } - - node = nodes.pop(); - - do { - if (toString.call(node) === arrayTypeStr) { - nodes.push.apply(nodes, node); - } else { - result.push(node); - } - } while (nodes.length && (node = nodes.pop()) !== undefined$1); - - result.reverse(); // we reverse result to restore the original order - - return result; - } // ---------------------------------------------------------------------- - // detect if object is ES6 Symbol that work with polyfills - // ---------------------------------------------------------------------- - - - function isSymbol(x) { - return _typeof_1(x) === 'symbol' || _typeof_1(x) === 'object' && Object.prototype.toString.call(x) === '[object Symbol]'; - } // ---------------------------------------------------------------------- - // :: LSymbol constructor - // ---------------------------------------------------------------------- - - - function LSymbol(name) { - if (typeof this !== 'undefined' && this.constructor !== LSymbol || typeof this === 'undefined') { - return new LSymbol(name); - } - - this.name = name; - } // ---------------------------------------------------------------------- - - - LSymbol.is = function (symbol, name) { - return symbol instanceof LSymbol && (typeof name === 'string' && symbol.name === name || name instanceof RegExp && name.test(symbol.name)); - }; // ---------------------------------------------------------------------- - - - LSymbol.prototype.toJSON = LSymbol.prototype.toString = function () { - //return '<#symbol \'' + this.name + '\'>'; - if (isSymbol(this.name)) { - return this.name.toString().replace(/^Symbol\(([^)]+)\)/, '$1'); - } - - return this.name; - }; // ---------------------------------------------------------------------- - // :: Nil constructor with only once instance - // ---------------------------------------------------------------------- - - - function Nil() {} - - Nil.prototype.toString = function () { - return '()'; - }; - - var nil = new Nil(); // ---------------------------------------------------------------------- - // :: Pair constructor - // ---------------------------------------------------------------------- - - function Pair(car, cdr) { - if (typeof this !== 'undefined' && this.constructor !== Pair || typeof this === 'undefined') { - return new Pair(car, cdr); - } - - this.car = car; - this.cdr = cdr; - } // ---------------------------------------------------------------------- - - - function emptyList() { - return new Pair(undefined$1, nil); - } // ---------------------------------------------------------------------- - - - function toArray(name, deep) { - return function recur(list) { - typecheck(name, list, ['pair', 'nil']); - - if (list instanceof Pair && list.isEmptyList()) { - return []; - } - - var result = []; - var node = list; - - while (true) { - if (node instanceof Pair) { - if (node.haveCycles('cdr')) { - break; - } - - var car = node.car; - - if (deep && car instanceof Pair) { - car = this.get(name).call(this, car); - } - - result.push(car); - node = node.cdr; - } else { - break; - } - } - - return result; - }; - } // ---------------------------------------------------------------------- - - - Pair.prototype.flatten = function () { - return Pair.fromArray(flatten(this.toArray())); - }; // ---------------------------------------------------------------------- - - - Pair.prototype.length = function () { - if (isEmptyList(this)) { - return 0; - } - - var len = 0; - var node = this; - - while (true) { - if (!node || node === nil || !(node instanceof Pair) || node.haveCycles('cdr')) { - break; - } - - len++; - node = node.cdr; - } - - return len; - }; // ---------------------------------------------------------------------- - - - Pair.prototype.clone = function () { - var visited = new Map(); - - function clone(node) { - if (node instanceof Pair) { - if (visited.has(node)) { - return visited.get(node); - } - - var pair = new Pair(); - visited.set(node, pair); - pair.car = clone(node.car); - pair.cdr = clone(node.cdr); - pair.cycles = node.cycles; - return pair; - } - - return node; - } - - return clone(this); - }; // ---------------------------------------------------------------------- - - - Pair.prototype.toArray = function () { - if (this.isEmptyList()) { - return []; - } - - var result = []; - - if (this.car instanceof Pair) { - result.push(this.car.toArray()); - } else { - result.push(this.car); - } - - if (this.cdr instanceof Pair) { - result = result.concat(this.cdr.toArray()); - } - - return result; - }; // ---------------------------------------------------------------------- - - - Pair.prototype.isEmptyList = function () { - return typeof this.car === 'undefined' && this.cdr === nil; - }; // ---------------------------------------------------------------------- - - - Pair.fromArray = function (array) { - if (array instanceof Pair) { - return array; - } - - if (array.length && !(array instanceof Array)) { - array = toConsumableArray(array); - } - - if (array.length === 0) { - return emptyList(); - } else { - var car; - - if (array[0] instanceof Array) { - car = Pair.fromArray(array[0]); - } else { - car = array[0]; - } - - if (array.length === 1) { - return new Pair(car, nil); - } else { - return new Pair(car, Pair.fromArray(array.slice(1))); - } - } - }; // ---------------------------------------------------------------------- - - - Pair.prototype.toObject = function () { - var node = this; - var result = {}; - - while (true) { - if (node instanceof Pair && node.car instanceof Pair) { - var pair = node.car; - var name = pair.car; - - if (name instanceof LSymbol) { - name = name.name; - } - - var cdr = pair.cdr; - - if (cdr instanceof Pair) { - cdr = cdr.toObject(); - } - - if (cdr instanceof LNumber) { - cdr = cdr.valueOf(); - } - - result[name] = cdr; - node = node.cdr; - } else { - break; - } - } - - return result; - }; // ---------------------------------------------------------------------- - - - Pair.fromPairs = function (array) { - return array.reduce(function (list, pair) { - return new Pair(new Pair(new LSymbol(pair[0]), pair[1]), list); - }, nil); - }; // ---------------------------------------------------------------------- - - - Pair.fromObject = function (obj) { - var array = Object.keys(obj).map(function (key) { - return [key, obj[key]]; - }); - return Pair.fromPairs(array); - }; // ---------------------------------------------------------------------- - - - Pair.prototype.reduce = function (fn) { - var node = this; - var result = nil; - - while (true) { - if (node !== nil) { - result = fn(result, node.car); - node = node.cdr; - } else { - break; - } - } - - return result; - }; // ---------------------------------------------------------------------- - - - Pair.prototype.reverse = function () { - if (this.haveCycles()) { - throw new Error("You can't reverse list that have cycles"); - } - - var node = this; - var prev = nil; - - while (node !== nil) { - var next = node.cdr; - node.cdr = prev; - prev = node; - node = next; - } - - return prev; - }; // ---------------------------------------------------------------------- - - - Pair.prototype.transform = function (fn) { - - function recur(pair) { - if (pair instanceof Pair) { - if (pair.replace) { - delete pair.replace; - return pair; - } - - var car = fn(pair.car); - - if (car instanceof Pair) { - car = recur(car); - } - - var cdr = fn(pair.cdr); - - if (cdr instanceof Pair) { - cdr = recur(cdr); - } - - return new Pair(car, cdr); - } - - return pair; - } - - return recur(this); - }; // ---------------------------------------------------------------------- - - - Pair.prototype.map = function (fn) { - if (typeof this.car !== 'undefined') { - return new Pair(fn(this.car), isEmptyList(this.cdr) ? nil : this.cdr.map(fn)); - } else { - return nil; - } - }; // ---------------------------------------------------------------------- - - - function toString(value) { - if (typeof value === 'function') { - return '<#function ' + (value.name || 'anonymous') + '>'; - } else if (typeof value === 'string') { - return JSON.stringify(value).replace(/\\n/g, '\n'); - } else if (isPromise(value)) { - return '<#Promise>'; - } else if (value instanceof LSymbol || value instanceof LNumber || value instanceof RegExp || value instanceof Pair || value === nil) { - return value.toString(); - } else if (value instanceof Array) { - return value.map(toString); - } else if (_typeof_1(value) === 'object') { - if (value === null) { - return 'null'; - } - - var name = value.constructor.name; - - if (name === 'Object') { - return JSON.stringify(value); - } - - return '<#object(' + value.constructor.name + ')>'; - } else if (typeof value !== 'undefined') { - return value; - } - } // ---------------------------------------------------------------------------- - - - Pair.prototype.markCycles = function () { - markCycles(this); - return this; - }; // ---------------------------------------------------------------------------- - - - Pair.prototype.haveCycles = function () { - var name = arguments.length > 0 && arguments[0] !== undefined$1 ? arguments[0] : null; - - if (!name) { - return this.haveCycles('car') || this.haveCycles('cdr'); - } - - return !!(this.cycles && this.cycles[name]); - }; // ---------------------------------------------------------------------------- - - - function markCycles(pair) { - var seenPairs = []; - var cycles = []; - - function cycleName(pair) { - if (pair instanceof Pair) { - if (seenPairs.includes(pair)) { - if (!cycles.includes(pair)) { - cycles.push(pair); - } - - return "#".concat(cycles.length - 1, "#"); - } - } - } - - function detect(pair) { - if (pair instanceof Pair) { - seenPairs.push(pair); - var cycles = {}; - var carCycle = cycleName(pair.car); - var cdrCycle = cycleName(pair.cdr); - - if (carCycle) { - cycles['car'] = carCycle; - } else { - detect(pair.car); - } - - if (cdrCycle) { - cycles['cdr'] = cdrCycle; - } else { - detect(pair.cdr); - } - - if (carCycle || cdrCycle) { - pair.cycles = cycles; - } else if (pair.cycles) { - delete pair.cycles; - } - } - } - - detect(pair); - } // ---------------------------------------------------------------------- - - - Pair.prototype.toString = function () { - var arr = ['(']; - - if (this.car !== undefined$1) { - var value; - - if (this.cycles && this.cycles.car) { - value = this.cycles.car; - } else { - value = toString(this.car); - } - - if (value !== undefined$1) { - arr.push(value); - } - - if (this.cdr instanceof Pair) { - if (this.cycles && this.cycles.cdr) { - arr.push(' . '); - arr.push(this.cycles.cdr); - } else { - var name; - - if (this.cycles && this.cycles.cdr) { - name = this.cycles.cdr; - } - - var cdr = this.cdr.toString(name).replace(/^\(|\)$/g, ''); - arr.push(' '); - arr.push(cdr); - } - } else if (typeof this.cdr !== 'undefined' && this.cdr !== nil) { - arr = arr.concat([' . ', toString(this.cdr)]); - } - } - - arr.push(')'); - return arr.join(''); - }; // ---------------------------------------------------------------------- - - - Pair.prototype.set = function (prop, value) { - this[prop] = value; - - if (value instanceof Pair) { - this.markCycles(); - } - }; // ---------------------------------------------------------------------- - - - Pair.prototype.append = function (arg) { - if (arg instanceof Array) { - return this.append(Pair.fromArray(arg)); - } - - var p = this; - - if (p.car === undefined$1) { - if (arg instanceof Pair) { - this.car = arg.car; - this.cdr = arg.cdr; - } else { - this.car = arg; - } - } else if (arg !== nil) { - while (true) { - if (p instanceof Pair && p.cdr !== nil) { - p = p.cdr; - } else { - break; - } - } - - p.cdr = arg; - } - - return this; - }; // ---------------------------------------------------------------------- - - - function equal(x, y) { - if (x instanceof LNumber && y instanceof LNumber) { - return x.cmp(y) === 0; - } else if (typeof x === 'number' || typeof y === 'number') { - return LNumber(x).cmp(LNumber(y)); - } else if (x instanceof LSymbol && y instanceof LSymbol) { - return x.name === y.name; - } else { - return x === y; - } - } // ---------------------------------------------------------------------- - - - function isEmptyList(x) { - return x instanceof Pair && x.isEmptyList() || x === nil; - } // ---------------------------------------------------------------------- - // :: Macro constructor - // ---------------------------------------------------------------------- - - - function Macro(name, fn, doc) { - if (typeof this !== 'undefined' && this.constructor !== Macro || typeof this === 'undefined') { - return new Macro(name, fn); - } - - typecheck('Macro', name, 'string', 1); - typecheck('Macro', fn, 'function', 2); - - if (doc) { - this.__doc__ = trimLines(doc); - } - - this.name = name; - this.fn = fn; - } // ---------------------------------------------------------------------- - - - Macro.defmacro = function (name, fn, doc) { - var macro = new Macro(name, fn, doc); - macro.defmacro = true; - return macro; - }; // ---------------------------------------------------------------------- - - - Macro.prototype.invoke = function (code, _ref, macro_expand) { - var env = _ref.env, - dynamic_scope = _ref.dynamic_scope, - error = _ref.error; - var args = { - dynamic_scope: dynamic_scope, - error: error, - macro_expand: macro_expand - }; - var result = this.fn.call(env, code, args, this.name); - return macro_expand ? quote(result) : result; - }; // ---------------------------------------------------------------------- - - - Macro.prototype.toString = function () { - return '#'; - }; // ---------------------------------------------------------------------- - - - var macro = 'define-macro'; // ---------------------------------------------------------------------- - - function macroExpand(single) { - return ( - /*#__PURE__*/ - function () { - var _ref2 = asyncToGenerator( - /*#__PURE__*/ - regenerator.mark(function _callee2(code, args) { - var env, traverse, _traverse, new_code; - - return regenerator.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _traverse = function _ref4() { - _traverse = asyncToGenerator( - /*#__PURE__*/ - regenerator.mark(function _callee(node) { - var value, result, car, cdr, pair; - return regenerator.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - if (!(node instanceof Pair && node.car instanceof LSymbol)) { - _context.next = 13; - break; - } - - _context.prev = 1; - value = env.get(node.car); - - if (!(value instanceof Macro && value.defmacro)) { - _context.next = 9; - break; - } - - _context.next = 6; - return value.invoke(node.cdr, args, true); - - case 6: - result = _context.sent; - - if (!(result instanceof Pair)) { - _context.next = 9; - break; - } - - return _context.abrupt("return", result); - - case 9: - _context.next = 13; - break; - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](1); - - case 13: - // CYCLE DETECT - car = node.car; - - if (!(car instanceof Pair)) { - _context.next = 18; - break; - } - - _context.next = 17; - return traverse(car); - - case 17: - car = _context.sent; - - case 18: - cdr = node.cdr; - - if (!(cdr instanceof Pair)) { - _context.next = 23; - break; - } - - _context.next = 22; - return traverse(cdr); - - case 22: - cdr = _context.sent; - - case 23: - pair = new Pair(car, cdr); - return _context.abrupt("return", pair); - - case 25: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[1, 11]]); - })); - return _traverse.apply(this, arguments); - }; - - traverse = function _ref3(_x3) { - return _traverse.apply(this, arguments); - }; - - env = args['env'] = this; - new_code = code; - - if (!single) { - _context2.next = 12; - break; - } - - _context2.t0 = quote; - _context2.next = 8; - return traverse(code); - - case 8: - _context2.t1 = _context2.sent.car; - return _context2.abrupt("return", (0, _context2.t0)(_context2.t1)); - - case 12: - - _context2.next = 15; - return traverse(code); - - case 15: - new_code = _context2.sent; - - if (!(code.toString() === new_code.toString())) { - _context2.next = 18; - break; - } - - return _context2.abrupt("break", 21); - - case 18: - code = new_code; - _context2.next = 12; - break; - - case 21: - return _context2.abrupt("return", quote(new_code.car)); - - case 22: - case "end": - return _context2.stop(); - } - } - }, _callee2, this); - })); - - return function (_x, _x2) { - return _ref2.apply(this, arguments); - }; - }() - ); - } // ---------------------------------------------------------------------- - // :: check for nullish values - - - function isNull(value) { - return typeof value === 'undefined' || value === nil || value === null; - } // ---------------------------------------------------------------------- - - - function isPromise(o) { - return o instanceof Promise || o && typeof o !== 'undefined' && typeof o.then === 'function'; - } // ---------------------------------------------------------------------- - // :: Function utilities - // ---------------------------------------------------------------------- - // :: weak version fn.bind as function - it can be rebinded and - // :: and applied with different context after bind - // ---------------------------------------------------------------------- - - - function weakBind(fn, context) { - var binded = function binded() { - for (var _len2 = arguments.length, moreArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - moreArgs[_key2] = arguments[_key2]; - } - - var args = [].concat(toConsumableArray(binded.__bind.args), moreArgs); - return binded.__bind.fn.apply(context, args); - }; - - hiddenProp(binded, 'name', fn.name); - hiddenProp(binded, '__bound__', true); - - if (fn.__doc__) { - binded.__doc__ = fn.__doc__; - } - - if (fn.__code__) { - binded.__code__ = fn.__code__; - } - - for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - binded.__bind = { - args: fn.__bind ? fn.__bind.args.concat(args) : args, - fn: fn.__bind ? fn.__bind.fn : fn - }; - - binded.toString = function () { - return binded.__bind.fn.toString(); - }; - - binded.apply = function (context, args) { - return binded.__bind.fn.apply(context, args); - }; - - binded.call = function (context) { - var _binded$__bind$fn; - - for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { - args[_key3 - 1] = arguments[_key3]; - } - - return (_binded$__bind$fn = binded.__bind.fn).call.apply(_binded$__bind$fn, [context].concat(args)); - }; - - binded.bind = function (context) { - for (var _len4 = arguments.length, moreArgs = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { - moreArgs[_key4 - 1] = arguments[_key4]; - } - - return weakBind.apply(void 0, [binded, context].concat(moreArgs)); - }; - - return setFnLength(binded, binded.__bind.fn.length); - } // ---------------------------------------------------------------------- - - - function unbind(obj) { - if (typeof obj === 'function' && obj.__bind) { - return obj.__bind.fn; - } - - return obj; - } // ---------------------------------------------------------------------- - // :: function bind fn with context but it also move all props - // :: mostly used for Object function - // ---------------------------------------------------------------------- - - - var exludedNames = ['name', 'length', 'caller', 'callee', 'arguments', 'prototype']; - - function filterFnNames(name) { - return !exludedNames.includes(name); - } // ---------------------------------------------------------------------- - - - function hiddenProp(obj, name, value) { - Object.defineProperty(obj, Symbol["for"](name), { - get: function get() { - return value; - }, - set: function set() {}, - configurable: false, - enumerable: false - }); - } // ---------------------------------------------------------------------- - - - function bindWithProps(fn, context) { - var bound = fn.bind(context); - var props = Object.getOwnPropertyNames(fn).filter(filterFnNames); - props.forEach(function (prop) { - bound[prop] = fn[prop]; - }); - hiddenProp(bound, '__bound__', true); - - if (isNativeFunction(fn)) { - hiddenProp(bound, '__native__', true); - } - - return bound; - } // ---------------------------------------------------------------------- - - - function isBoundFunction(obj) { - if (typeof obj === 'fuction') { - obj.__bound__ = false; - return obj.__bound__ === true; - } - } // ---------------------------------------------------------------------- - - - function setFnLength(fn, length) { - try { - Object.defineProperty(fn, 'length', { - get: function get() { - return length; - } - }); - return fn; - } catch (e) { - // hack that create function with specific length should work for browsers - // that don't support Object.defineProperty like old IE - var args = new Array(length).fill(0).map(function (_, i) { - return 'a' + i; - }).join(','); - var wrapper = new Function("f", "return function(".concat(args, ") {\n return f.apply(this, arguments);\n };")); - return wrapper(fn); - } - } // ---------------------------------------------------------------------- - - - function isNativeFunction(fn) { - var _native = Symbol["for"]('__native__'); - - return typeof fn === 'function' && fn.toString().match(/\{\s*\[native code\]\s*\}/) && (fn.name.match(/^bound /) && fn[_native] === true || !fn.name.match(/^bound /) && !fn[_native]); - } // ---------------------------------------------------------------------- - // :: function that return macro for let and let* - // ---------------------------------------------------------------------- - - - function let_macro(asterisk) { - var name = 'let' + (asterisk ? '*' : ''); - return Macro.defmacro(name, function (code, options) { - var dynamic_scope = options.dynamic_scope, - error = options.error, - macro_expand = options.macro_expand; - var args; // named let: - // (let iter ((x 10)) (iter (- x 1))) -> (let* ((iter (lambda (x) ... - - if (code.car instanceof LSymbol) { - if (!(code.cdr.car instanceof Pair)) { - throw new Error('let require list of pairs'); - } - - var params = code.cdr.car.map(function (pair) { - return pair.car; - }); - args = code.cdr.car.map(function (pair) { - return pair.cdr.car; - }); - return Pair.fromArray([LSymbol('let*'), [[code.car, Pair(LSymbol('lambda'), Pair(params, code.cdr.cdr))]], Pair(code.car, args)]); - } else if (macro_expand) { - // Macro.defmacro are special macros that should return lisp code - // here we use evaluate, so we need to check special flag set by - // macroexpand to prevent evaluation of code in normal let - return; - } - - var self = this; - args = this.get('list->array')(code.car); - var env = self.inherit('let'); - var i = 0; - return function loop() { - var pair = args[i++]; - - function set(value) { - if (isPromise(value)) { - return value.then(set); - } else if (typeof value === 'undefined') { - env.set(pair.car, nil); - } else { - env.set(pair.car, value); - } - } - - if (dynamic_scope) { - dynamic_scope = asterisk ? env : self; - } - - if (!pair) { - var output = new Pair(new LSymbol('begin'), code.cdr); - return evaluate(output, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - } else { - var value = evaluate(pair.cdr.car, { - env: asterisk ? env : self, - dynamic_scope: dynamic_scope, - error: error - }); - return unpromise(set(value), loop); - } - }(); - }); - } // ------------------------------------------------------------------------- - - - function pararel(name, fn) { - return new Macro(name, function (code) { - var _ref5 = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}, - dynamic_scope = _ref5.dynamic_scope, - error = _ref5.error; - - var env = this; - - if (dynamic_scope) { - dynamic_scope = this; - } - - var node = code; - var results = []; - - while (node instanceof Pair && !isEmptyList(node)) { - results.push(evaluate(node.car, { - env: env, - dynamic_scope: dynamic_scope, - error: error - })); - node = node.cdr; - } - - var havePromises = results.filter(isPromise).length; - - if (havePromises) { - return Promise.all(results).then(fn.bind(this)); - } else { - return fn.call(this, results); - } - }); - } // ------------------------------------------------------------------------- - - - function guardMathCall(fn) { - for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) { - args[_key5 - 1] = arguments[_key5]; - } - - args.forEach(function (arg) { - typecheck('', arg, 'number'); - }); - return fn.apply(void 0, args); - } // ---------------------------------------------------------------------- - - - function pipe() { - for (var _len6 = arguments.length, fns = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { - fns[_key6] = arguments[_key6]; - } - - fns.forEach(function (fn, i) { - typecheck('pipe', fn, 'function', i + 1); - }); - return function () { - for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { - args[_key7] = arguments[_key7]; - } - - return fns.reduce(function (args, f) { - return [f.apply(void 0, toConsumableArray(args))]; - }, args)[0]; - }; - } // ------------------------------------------------------------------------- - - - function compose() { - for (var _len8 = arguments.length, fns = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { - fns[_key8] = arguments[_key8]; - } - - fns.forEach(function (fn, i) { - typecheck('compose', fn, 'function', i + 1); - }); - return pipe.apply(void 0, toConsumableArray(fns.reverse())); - } // ------------------------------------------------------------------------- - // :: fold functions generator - // ------------------------------------------------------------------------- - - - function fold(name, fold) { - var self = this; - return function recur(fn, init) { - typecheck(name, fn, 'function'); - - for (var _len9 = arguments.length, lists = new Array(_len9 > 2 ? _len9 - 2 : 0), _key9 = 2; _key9 < _len9; _key9++) { - lists[_key9 - 2] = arguments[_key9]; - } - - if (lists.some(function (l) { - return isEmptyList(l) || isNull(l); - })) { - if (typeof init === 'number') { - return LNumber(init); - } - - return init; - } else { - return fold.call.apply(fold, [self, recur, fn, init].concat(lists)); - } - }; - } // ------------------------------------------------------------------------- - - - function limitMathOp(n, fn) { - // + 1 so it inlcude function in guardMathCall - return limit(n + 1, curry(guardMathCall, fn)); - } // ------------------------------------------------------------------------- - - - var singleMathOp = curry(limitMathOp, 1); - var binaryMathOp = curry(limitMathOp, 2); // ------------------------------------------------------------------------- - - function reduceMathOp(fn) { - return function () { - for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { - args[_key10] = arguments[_key10]; - } - - if (args.length) { - return args.reduce(binaryMathOp(fn)); - } - }; - } // ------------------------------------------------------------------------- - - - function curry(fn) { - for (var _len11 = arguments.length, init_args = new Array(_len11 > 1 ? _len11 - 1 : 0), _key11 = 1; _key11 < _len11; _key11++) { - init_args[_key11 - 1] = arguments[_key11]; - } - - typecheck('curry', fn, 'function'); - var len = fn.length; - return function () { - var args = init_args.slice(); - - function call() { - for (var _len12 = arguments.length, more_args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) { - more_args[_key12] = arguments[_key12]; - } - - args = args.concat(more_args); - - if (args.length >= len) { - return fn.apply(this, args); - } else { - return call; - } - } - - return call.apply(this, arguments); - }; - } // ------------------------------------------------------------------------- - // return function with limited number of arguments - - - function limit(n, fn) { - typecheck('limit', fn, 'function', 2); - return function () { - for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) { - args[_key13] = arguments[_key13]; - } - - return fn.apply(void 0, toConsumableArray(args.slice(0, n))); - }; - } // ------------------------------------------------------------------------------- - - - var get = doc(function get(obj) { - if (typeof obj === 'function' && obj.__bind) { - obj = obj.__bind.fn; - } - - for (var _len14 = arguments.length, args = new Array(_len14 > 1 ? _len14 - 1 : 0), _key14 = 1; _key14 < _len14; _key14++) { - args[_key14 - 1] = arguments[_key14]; - } - - for (var _i = 0, _args4 = args; _i < _args4.length; _i++) { - var arg = _args4[_i]; - var name = arg instanceof LSymbol ? arg.name : arg; - var value = obj[name]; - - if (typeof value === 'function') { - value = bindWithProps(value, obj); - } - - obj = value; - } - - return value; - }, "(. obj . args)\n (get obj . args)\n\n Function use object as based and keep using arguments to get the\n property of JavaScript object. Arguments need to be a strings.\n e.g. `(. console \"log\")` if you use any function inside LIPS is\n will be weakly bind (can be rebind), so you can call this log function\n without problem unlike in JavaScript when you use\n `var log = console.log`.\n `get` is an alias because . don't work in every place, you can't\n pass it as argument"); // ------------------------------------------------------------------------- - // :: Number wrapper that handle BigNumbers - // ------------------------------------------------------------------------- - - function LNumber(n, _float) { - if (typeof this !== 'undefined' && this.constructor !== LNumber || typeof this === 'undefined') { - return new LNumber(n, _float === true ? true : undefined$1); - } - - if (n instanceof LNumber) { - return LNumber(n.value, n["float"]); - } - - if (!LNumber.isNumber(n)) { - throw new Error("You can't create LNumber from ".concat(type(n))); - } // prevent infite loop https://github.com/indutny/bn.js/issues/186 - - - if (n === null) { - n = 0; - } - - if (LNumber.isFloat(n)) { - this.value = n; - } else if (_float) { - this.value = n; - this["float"] = true; - } else if (typeof BigInt !== 'undefined') { - if (typeof n !== 'bigint') { - this.value = BigInt(n); - } else { - this.value = n; - } - } else if (typeof BN !== 'undefined' && !(n instanceof BN)) { - this.value = new BN(n); - } else { - this.value = n; - } - } // ------------------------------------------------------------------------- - - - LNumber.isFloat = function isFloat(n) { - return Number(n) === n && n % 1 !== 0; - }; // ------------------------------------------------------------------------- - - - LNumber.isNumber = function (n) { - return n instanceof LNumber || !Number.isNaN(n) && LNumber.isNative(n) || LNumber.isBN(n); - }; // ------------------------------------------------------------------------- - - - LNumber.isNative = function (n) { - return typeof n === 'bigint' || typeof n === 'number'; - }; // ------------------------------------------------------------------------- - - - LNumber.isBN = function (n) { - return typeof BN !== 'undefined' && n instanceof BN; - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.toString = LNumber.prototype.toJSON = function () { - return this.value.toString(); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.isBigNumber = function () { - return typeof this.value === 'bigint' || typeof BN !== 'undefined' && !(this.value instanceof BN); - }; // ------------------------------------------------------------------------- - - - ['floor', 'ceil', 'round'].forEach(function (fn) { - LNumber.prototype[fn] = function () { - if (this["float"] || LNumber.isFloat(this.value)) { - return LNumber(Math[fn](this.value)); - } else { - return LNumber(this.value); - } - }; - }); // ------------------------------------------------------------------------- - - LNumber.prototype.valueOf = function () { - if (LNumber.isNative(this.value)) { - return Number(this.value); - } else if (LNumber.isBN(this.value)) { - return this.value.toNumber(); - } - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.coerce = function (n) { - if (n === null) { - n = 0; - } - - var value; - - if (n instanceof LNumber) { - value = n.value; - } else { - value = n; - } - - if (LNumber.isFloat(value)) ; else if (typeof this.value === 'bigint' && typeof value !== 'bigint') { - value = BigInt(value); - } else if (typeof BN !== 'undefined' && this.value instanceof BN && !value instanceof BN) { - value = new BN(value); - } - - return LNumber(value); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.isFloat = function () { - return !!(LNumber.isFloat(this.value) || this["float"]); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.op = function (op, n) { - var ops = { - '*': function _(a, b) { - return a * b; - }, - '+': function _(a, b) { - return a + b; - }, - '-': function _(a, b) { - return a - b; - }, - '/': function _(a, b) { - return a / b; - }, - '%': function _(a, b) { - return a % b; - }, - '|': function _(a, b) { - return a | b; - }, - '&': function _(a, b) { - return a & b; - }, - '~': function _(a) { - return ~a; - }, - '>>': function _(a, b) { - return a >> b; - }, - '<<': function _(a, b) { - return a << b; - } - }; - - if (LNumber.isFloat(n) || n instanceof LNumber && n.isFloat() || this.isFloat()) { - var value = n instanceof LNumber ? n.valueOf() : n; - return LNumber(ops[op](this.valueOf(), value), true); - } - - n = this.coerce(n); - - if (LNumber.isNative(n.value) && LNumber.isNative(this.value)) { - return LNumber(ops[op](this.value, n.value)); - } - - if (LNumber.isBN(this.value) && LNumber.isBN(n.value)) { - var bn_op = { - '+': 'iadd', - '-': 'isub', - '*': 'imul', - '/': 'idiv', - '%': 'imod', - '|': 'ior', - '&': 'iand', - '~': 'inot', - '<<': 'ishrn', - '>>': 'ishln' - }; - op = bn_op[op]; - return LNumber(this.value.clone()[op](n, value)); - } - }; // ------------------------------------------------------------------------- - - - var ops = { - '+': 'add', - '-': 'sub', - '*': 'mul', - '/': 'div', - '%': 'mod', - '|': 'or', - '&': 'and', - '~': 'neg', - '<<': 'shl', - '>>': 'shr' - }; - Object.keys(ops).forEach(function (op) { - LNumber.prototype[ops[op]] = function (n) { - return this.op(op, n); - }; - }); // ------------------------------------------------------------------------- - - LNumber.prototype.sqrt = function () { - var value; - - if (LNumber.isNative(this.value)) { - value = Math.sqrt(this.value); - } else if (LNumber.isBN(this.value)) { - value = this.value.sqrt(); - } - - return new LNumber(value); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.pow = function (n) { - n = this.coerce(n); - - if (LNumber.isNative(this.value)) { - try { - var pow = new Function('a,b', 'return a**b;'); - n.value = pow(this.value, n.value); - } catch (e) { - throw new Error("Power operator not supported"); - } - } else if (LNumber.isBN(this.value)) { - n.value = this.value.pow(n.value); - } else { - n.value = Math.pow(this.value, n.value); - } - - return n; - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.neg = function () { - var value = this.value; - - if (LNumber.isNative(value)) { - value = -value; - } else if (LNumber.isBN(value)) { - value = value.neg(); - } - - return new LNumber(value); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.abs = function () { - var value = this.value; - - if (LNumber.isNative(this.value)) { - if (value < 0) { - value = -value; - } - } else if (LNumber.isBN(value)) { - value.iabs(); - } - - return new LNumber(value); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.isOdd = function () { - if (LNumber.isNative(this.value)) { - if (this.isBigNumber()) { - return this.value % BigInt(2) === BigInt(1); - } - - return this.value % 2 === 1; - } else if (LNumber.isBN(this.value)) { - return this.value.isOdd(); - } - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.isEven = function () { - return !this.isOdd(); - }; // ------------------------------------------------------------------------- - - - LNumber.prototype.cmp = function (n) { - n = this.coerce(n); - - if (LNumber.isNative(this.value)) { - if (this.value < n.value) { - return -1; - } else if (this.value === n.value) { - return 0; - } else { - return 1; - } - } else if (LNumber.isBN(this.value)) { - return this.value.cmp(n.value); - } - }; // ------------------------------------------------------------------------- - // :: Environment constructor (parent and name arguments are optional) - // ------------------------------------------------------------------------- - - - function Environment(obj, parent, name) { - if (arguments.length === 1) { - if (_typeof_1(arguments[0]) === 'object') { - obj = arguments[0]; - this.parent = null; - } else if (typeof arguments[0] === 'string') { - obj = {}; - parent = {}; - name = arguments[0]; - } - } - - this.env = obj; - this.parent = parent; - this.name = name || 'anonymous'; - } // ------------------------------------------------------------------------- - - - Environment.prototype.inherit = function (name) { - var obj = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}; - - if (_typeof_1(name) === "object") { - obj = name; - } - - if (!name || _typeof_1(name) === "object") { - name = 'child of ' + (this.name || 'unknown'); - } - - return new Environment(obj || {}, this, name); - }; // ------------------------------------------------------------------------- - - - Environment.prototype.get = function (symbol) { - var options = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}; - // we keep original environment as context for bind - // so print will get user stdout - var weak = options.weak, - _options$context = options.context, - context = _options$context === void 0 ? this : _options$context, - _options$throwError = options.throwError, - throwError = _options$throwError === void 0 ? true : _options$throwError; - var value; - var defined = false; - - if (symbol instanceof LSymbol) { - if (symbol.name in this.env) { - value = this.env[symbol.name]; - defined = true; - } - } else if (typeof symbol === 'string') { - if (typeof this.env[symbol] !== 'undefined') { - value = this.env[symbol]; - defined = true; - } - } - - if (defined) { - if (LNumber.isNumber(value)) { - return LNumber(value); - } - - if (value instanceof Pair) { - return value.markCycles(); - } - - if (typeof value === 'function') { - // bind only functions that are not binded for case: - // (let ((x Object)) (. x 'keys)) - // second x access is already bound when accessing Object - if (isBoundFunction(value)) { - if (weak) { - return weakBind(value, context); - } - - return bindWithProps(value, context); - } - } - - return value; - } - - if (this.parent instanceof Environment) { - return this.parent.get(symbol, { - weak: weak, - context: context, - throwError: throwError - }); - } else { - var name; - - if (symbol instanceof LSymbol) { - name = symbol.name; - } else if (typeof symbol === 'string') { - name = symbol; - } - - if (name) { - var type = _typeof_1(root[name]); - - if (type === 'function') { - if (isNativeFunction(root[name])) { - // hard bind of native functions with props for Object - // hard because of console.log - return bindWithProps(root[name], root); - } - - return root[name]; - } else if (type !== 'undefined') { - return root[name]; - } - } - } - - if (throwError) { - name = (name.name || name).toString(); - throw new Error("Unbound variable `" + name + "'"); - } - }; // ------------------------------------------------------------------------- - - - Environment.prototype.set = function (name, value) { - if (LNumber.isNumber(value)) { - value = LNumber(value); - } - - if (name instanceof LSymbol) { - name = name.name; - } - - this.env[name] = value; - }; // ------------------------------------------------------------------------- - - - Environment.prototype.has = function (name) { - return typeof this.env[name] !== 'undefined'; - }; // ------------------------------------------------------------------------- - - - Environment.prototype.ref = function (name) { - var env = this; - - while (true) { - if (!env) { - break; - } - - if (env.has(name)) { - return env; - } - - env = env.parent; - } - }; - - Environment.prototype.parents = function () { - var env = this; - var result = []; - - while (env) { - result.unshift(env); - env = env.parent; - } - - return result; - }; // ------------------------------------------------------------------------- - // :: Quote funtion used to pause evaluation from Macro - // ------------------------------------------------------------------------- - - - function quote(value) { - if (isPromise(value)) { - return value.then(quote); - } - - if (value instanceof Pair || value instanceof LSymbol) { - value.data = true; - } - - return value; - } // ------------------------------------------------------------------------- - - - var gensym = function () { - var count = 0; - return function () { - var name = arguments.length > 0 && arguments[0] !== undefined$1 ? arguments[0] : null; - - // use ES6 symbol as name for lips symbol (they are unique) - if (name !== null) { - return new LSymbol(Symbol("#:".concat(name))); - } - - count++; - return new LSymbol(Symbol("#:g".concat(count))); - }; - }(); // ------------------------------------------------------------------------- - - - var global_env = new Environment({ - nil: nil, - 'undefined': undefined$1, - 'true': true, - 'false': false, - 'NaN': NaN, - // ------------------------------------------------------------------ - stdout: { - write: function write() { - var _console; - - (_console = console).log.apply(_console, arguments); - } - }, - // ------------------------------------------------------------------ - stdin: { - read: function read() { - return new Promise(function (resolve) { - resolve(prompt('')); - }); - } - }, - // ------------------------------------------------------------------ - help: doc(new Macro('help', function (code, _ref6) { - var dynamic_scope = _ref6.dynamic_scope, - error = _ref6.error; - var symbol; - - if (code.car instanceof LSymbol) { - symbol = code.car; - } else if (code.car instanceof Pair && code.car.car instanceof LSymbol) { - symbol = code.car.car; - } else { - var env = this; - - if (dynamic_scope) { - dynamic_scope = this; - } - - var ret = evaluate(code.car, { - env: env, - error: error, - dynamic_scope: dynamic_scope - }); - - if (ret && ret.__doc__) { - return ret.__doc__; - } - } - - return this.get(symbol).__doc__; - }), "(help object)\n\n Macro returns documentation for function or macros including parser\n macros but only if called with parser macro symbol like (help `).\n For normal functions and macros you can save the function in variable."), - // ------------------------------------------------------------------ - cons: doc(function (car, cdr) { - if (isEmptyList(cdr)) { - cdr = nil; - } - - return new Pair(car, cdr); - }, "(cons left right)\n\n Function return new Pair out of two arguments."), - // ------------------------------------------------------------------ - car: doc(function (list) { - if (list === nil) { - return nil; - } - - typecheck('car', list, 'pair'); - - if (isEmptyList(list)) { - return nil; - } - - return list.car; - }, "(car pair)\n\n Function returns car (head) of the list/pair."), - // ------------------------------------------------------------------ - cdr: doc(function (list) { - if (list === nil) { - return nil; - } - - typecheck('cdr', list, 'pair'); - - if (isEmptyList(list)) { - return nil; - } - - return list.cdr; - }, "(cdr pair)\n\n Function returns cdr (tail) of the list/pair."), - // ------------------------------------------------------------------ - 'set!': doc(new Macro('set!', function (code) { - var _ref7 = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}, - dynamic_scope = _ref7.dynamic_scope, - error = _ref7.error; - - if (dynamic_scope) { - dynamic_scope = this; - } - - var value = evaluate(code.cdr.car, { - env: this, - dynamic_scope: dynamic_scope, - error: error - }); - value = resolvePromises(value); - var ref; - - function set(key, value) { - if (isPromise(key)) { - return key.then(function (key) { - return set(key, value); - }); - } - - if (isPromise(value)) { - return value.then(function (value) { - return set(key, value); - }); - } - - object[key] = value; - return value; - } - - if (code.car instanceof Pair && LSymbol.is(code.car.car, '.')) { - var second = code.car.cdr.car; - var thrid = code.car.cdr.cdr.car; - var object = evaluate(second, { - env: this, - dynamic_scope: dynamic_scope, - error: error - }); - var key = evaluate(thrid, { - env: this, - dynamic_scope: dynamic_scope, - error: error - }); - return set(key, value); - } - - if (!(code.car instanceof LSymbol)) { - throw new Error('set! first argument need to be a symbol or ' + 'dot accessor that evaluate to object.'); - } - - ref = this.ref(code.car.name); - - if (!ref) { - ref = this; - } // we don't return value because we only care about sync of set value - // when value is a promise - - - return unpromise(value, function (value) { - ref.set(code.car, value); - }); - }), "(set! name value)\n\n Macro that can be used to set the value of the variable (mutate)\n it search the scope chain until it finds first non emtpy slot and set it."), - // ------------------------------------------------------------------ - 'set-car!': doc(function (slot, value) { - typecheck('set-car!', slot, 'pair'); - slot.car = value; - }, "(set-car! obj value)\n\n Function that set car (head) of the list/pair to specified value.\n It can destroy the list. Old value is lost."), - // ------------------------------------------------------------------ - 'set-cdr!': doc(function (slot, value) { - typecheck('set-cdr!', slot, 'pair'); - slot.cdr = value; - }, "(set-cdr! obj value)\n\n Function that set cdr (tail) of the list/pair to specified value.\n It can destroy the list. Old value is lost."), - // ------------------------------------------------------------------ - 'empty?': doc(function (x) { - return typeof x === 'undefined' || isEmptyList(x); - }, "(empty? object)\n\n Function return true if value is undfined empty list."), - // ------------------------------------------------------------------ - assoc: doc(function (key, list) { - if (key instanceof Pair && !(list instanceof Pair)) { - throw new Error('First argument to assoc ned to be a key'); - } - - typecheck('assoc', list, 'pair'); - var node = list; - - while (true) { - if (!(node instanceof Pair) || this.get('empty?')(node)) { - break; - } - - var car = node.car.car; - - if (equal(car, key)) { - return node.car; - } else if (!node.haveCycles('cdr')) { - node = node.cdr; - } - } - - return nil; - }, "(assoc key alist)\n\n Function search Alist (list of pairs) until it find the one that\n have head set equal to key, and return found pair."), - // ------------------------------------------------------------------ - gensym: doc(gensym, "(gensym)\n\n Function generate unique symbol, to use with macros as meta name."), - // ------------------------------------------------------------------ - 'require.resolve': doc(function (path) { - var ret = require.resolve(path); - - return ret; - }, "(require.resolve path)\n\n Return path relative the current module."), - // ------------------------------------------------------------------ - 'require': doc(function (module) { - return require(module); - }, "(require module)\n\n Function to be used inside Node.js to import the module."), - // ------------------------------------------------------------------ - load: doc(function (file) { - typecheck('load', file, 'string'); - var env = this; - - if (env.name === '__frame__') { - env = env.parent; - } - - if (typeof this.get('global', { - throwError: false - }) !== 'undefined') { - return new Promise(function (resolve, reject) { - require('fs').readFile(file, function (err, data) { - if (err) { - reject(err); - } else { - exec(data.toString(), env).then(function () { - resolve(); - }); - } - }); - }); - } - - return root.fetch(file).then(function (res) { - return res.text(); - }).then(function (code) { - return exec(code, env); - }).then(function () {}); - }, "(load filename)\n\n Function fetch the file and evaluate its content as LIPS code."), - // ------------------------------------------------------------------ - 'while': doc(new Macro('while', function (code, _ref8) { - var dynamic_scope = _ref8.dynamic_scope, - error = _ref8.error; - var self = this; - var begin = new Pair(new LSymbol('begin'), code.cdr); - var result; - - if (dynamic_scope) { - dynamic_scope = self; - } - - return function loop() { - var cond = evaluate(code.car, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - - function next(cond) { - if (cond && !isNull(cond) && !isEmptyList(cond)) { - result = evaluate(begin, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - - if (isPromise(result)) { - return result.then(function (ret) { - result = ret; - return loop(); - }); - } else { - return loop(); - } - } else { - return result; - } - } - - return unpromise(cond, next); - }(); - }), "(while cond . body)\n\n Macro that create a loop, it exectue body untill cond expression is false"), - // ------------------------------------------------------------------ - 'if': doc(new Macro('if', function (code, _ref9) { - var dynamic_scope = _ref9.dynamic_scope, - error = _ref9.error; - - if (dynamic_scope) { - dynamic_scope = this; - } - - var env = this; - - var resolve = function resolve(cond) { - typecheck('if', cond, 'boolean'); - - if (cond) { - return evaluate(code.cdr.car, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - } else { - return evaluate(code.cdr.cdr.car, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - } - }; - - var cond = evaluate(code.car, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - return unpromise(cond, resolve); - }), "(if cond true-expr false-expr)\n\n Macro evaluate condition expression and if the value is true, it\n evaluate and return true expression if not it evaluate and return\n false expression"), - // ------------------------------------------------------------------ - 'let*': doc(let_macro(true), "(let* ((a value-a) (b value-b)) body)\n\n Macro that creates new environment, then evaluate and assign values to\n names and then evaluate the body in context of that environment.\n Values are evaluated sequentialy and next value can access to\n previous values/names."), - // ------------------------------------------------------------------ - 'let': doc(let_macro(false), "(let ((a value-a) (b value-b)) body)\n\n Macro that creates new environment, then evaluate and assign values to\n names and then evaluate the body in context of that environment.\n Values are evaluated sequentialy but you can't access\n previous values/names when next are evaluated. You can only get them\n from body of let expression."), - // ------------------------------------------------------------------ - 'begin*': doc(pararel('begin*', function (values) { - return values.pop(); - }), "(begin* . expr)\n\n This macro is parallel version of begin. It evaluate each expression and\n if it's a promise it will evaluate it in parallel and return value\n of last expression."), - // ------------------------------------------------------------------ - 'begin': doc(new Macro('begin', function (code, options) { - var args = Object.assign({}, options); - var arr = this.get('list->array')(code); - - if (args.dynamic_scope) { - args.dynamic_scope = this; - } - - args.env = this; - var result; - return function loop() { - if (arr.length) { - var code = arr.shift(); - var ret = evaluate(code, args); - return unpromise(ret, function (value) { - result = value; - return loop(); - }); - } else { - return result; - } - }(); - }), "(begin . args)\n\n Macro runs list of expression and return valuate of the list one.\n It can be used in place where you can only have single exression,\n like if expression."), - // ------------------------------------------------------------------ - 'ignore': new Macro('ignore', function (code, _ref10) { - var dynamic_scope = _ref10.dynamic_scope, - error = _ref10.error; - var args = { - env: this, - error: error - }; - - if (dynamic_scope) { - args.dynamic_scope = this; - } - - evaluate(new Pair(new LSymbol('begin'), code), args); - }, "(ignore expression)\n\n Macro that will evaluate expression and swallow any promises that may\n be created. It wil run and ignore any value that may be returned by\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."), - // ------------------------------------------------------------------ - define: doc(Macro.defmacro('define', function (code, eval_args) { - var env = this; - - if (code.car instanceof Pair && code.car.car instanceof LSymbol) { - var new_code = new Pair(new LSymbol("define"), new Pair(code.car.car, new Pair(new Pair(new LSymbol("lambda"), new Pair(code.car.cdr, code.cdr))))); - return new_code; - } else if (eval_args.macro_expand) { - // prevent evaluation in macroexpand - return; - } - - if (eval_args.dynamic_scope) { - eval_args.dynamic_scope = this; - } - - eval_args.env = env; - var value = code.cdr.car; - - if (value instanceof Pair) { - value = evaluate(value, eval_args); - } else if (value instanceof LSymbol) { - value = env.get(value); - } - - if (code.car instanceof LSymbol) { - unpromise(value, function (value) { - env.set(code.car, value); - }); - } - }), "(define name expression)\n (define (function-name . args) body)\n\n Macro for defining values. It can be used to define variables,\n or function. If first argument is list it will create function\n with name beeing first element of the list. The macro evalute\n code `(define function (lambda args body))`"), - // ------------------------------------------------------------------ - 'set-obj!': doc(function (obj, key, value) { - var obj_type = _typeof_1(obj); - - if (isNull(obj) || obj_type !== 'object' && obj_type !== 'function') { - var msg = typeErrorMessage('set-obj!', type(obj), ['object', 'function']); - throw new Error(msg); - } - - unbind(obj)[key] = value; - }, "(set-obj! obj key value)\n\n Function set property of JavaScript object"), - 'current-environment': doc(function () { - return this; - }, "(current-environment)\n\n Function return current environement."), - // ------------------------------------------------------------------ - 'eval': doc(function (code, env) { - var _this = this; - - typecheck('eval', code, ['symbol', 'pair', 'array']); - env = env || this; - - if (code instanceof LSymbol) { - return env.get(code); - } - - if (code instanceof Pair) { - return evaluate(code, { - env: env, - //dynamic_scope: this, - error: function error(e) { - _this.get('error')(e.message); - - if (e.code) { - var stack = e.code.map(function (line, i) { - return "[".concat(i + 1, "]: ").concat(line); - }).join('\n'); - - _this.get('error')(stack); - } - } - }); - } - - if (code instanceof Array) { - var _eval = this.get('eval'); - - return code.reduce(function (_, code) { - return _eval(code, env); - }); - } - }, "(eval list)\n\n Function evalute LIPS code as list structure."), - // ------------------------------------------------------------------ - lambda: new Macro('lambda', function (code) { - var _ref11 = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}, - dynamic_scope = _ref11.dynamic_scope, - error = _ref11.error; - - var self = this; - - var __doc__; - - if (code.cdr instanceof Pair && typeof code.cdr.car === 'string' && code.cdr.cdr !== nil) { - __doc__ = trimLines(code.cdr.car); - } - - function lambda() { - var env; - - if (dynamic_scope) { - if (!(this instanceof Environment)) { - env = self; - } else { - env = this; - } - } else { - env = self; - } - - env = env.inherit('lambda'); - var name = code.car; - var i = 0; - var value; - - if (typeof this !== 'undefined') { - env.set('this', this); - } // arguments and arguments.callee inside lambda function - - - for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) { - args[_key15] = arguments[_key15]; - } - - if (this instanceof Environment) { - env.set('arguments', this.get('arguments')); - env.set('parent.frame', this.get('parent.frame')); - } else { - // this case is for lambda as callback function in JS; e.g. setTimeout - var _args = args.slice(); - - _args.callee = lambda; - _args.env = env; - env.set('parent.frame', function () { - return nil; - }); - env.set('arguments', _args); - } - - if (name instanceof LSymbol || !isEmptyList(name)) { - while (true) { - if (name.car !== nil) { - if (name instanceof LSymbol) { - // rest argument, can also be first argument - value = Pair.fromArray(args.slice(i)); - env.env[name.name] = value; - break; - } else { - if (typeof args[i] === 'undefined') { - value = nil; - } else { - value = args[i]; - } - - env.env[name.car.name] = value; - } - } - - if (name.cdr === nil) { - break; - } - - i++; - name = name.cdr; - } - } - - if (dynamic_scope) { - dynamic_scope = env; - } - - var rest = __doc__ ? code.cdr.cdr : code.cdr; - var output = new Pair(new LSymbol('begin'), rest); - return evaluate(output, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - } - - var length = code.car instanceof Pair ? code.car.length() : null; - lambda.__code__ = new Pair(new LSymbol('lambda'), code); - - if (!(code.car instanceof Pair)) { - return doc(lambda, __doc__, true); // variable arguments - } // wrap and decorate with __doc__ - - - return doc(setFnLength(lambda, length), __doc__, true); - }, "(lambda (a b) body)\n (lambda args body)\n (lambda (a b . rest) body)\n\n Macro lambda create new anonymous function, if first element of the body\n is string and there is more elements it will be documentation, that can\n be read using (help fn)"), - 'macroexpand': new Macro('macroexpand', macroExpand()), - 'macroexpand-1': new Macro('macroexpand-1', macroExpand(true)), - // ------------------------------------------------------------------ - 'define-macro': doc(new Macro(macro, function (macro, _ref12) { - var dynamic_scope = _ref12.dynamic_scope, - error = _ref12.error; - - if (macro.car instanceof Pair && macro.car.car instanceof LSymbol) { - var name = macro.car.car.name; - - var __doc__; - - if (typeof macro.cdr.car === 'string' && macro.cdr.cdr !== nil) { - __doc__ = macro.cdr.car; - } - - this.env[name] = Macro.defmacro(name, function (code) { - var env = new Environment({}, this, 'defmacro'); - var name = macro.car.cdr; - var arg = code; - - while (true) { - if (name === nil) { - break; - } - - if (name instanceof LSymbol) { - env.env[name.name] = arg; - break; - } else if (name.car !== nil) { - if (arg === nil) { - env.env[name.car.name] = nil; - } else { - if (arg.car instanceof Pair) { - arg.car.data = true; - } - - env.env[name.car.name] = arg.car; - } - } - - if (name.cdr === nil) { - break; - } - - if (arg !== nil) { - arg = arg.cdr; - } - - name = name.cdr; - } - - if (dynamic_scope) { - dynamic_scope = env; - } - - var eval_args = { - env: env, - dynamic_scope: dynamic_scope, - error: error - }; // evaluate macro - - if (macro.cdr instanceof Pair) { - // this eval will return lips code - var rest = __doc__ ? macro.cdr.cdr : macro.cdr; - var result = rest.reduce(function (result, node) { - return evaluate(node, eval_args); - }); - return unpromise(result, function (result) { - if (_typeof_1(result) === 'object') { - delete result.data; - } - - return result; - }); - } - }, __doc__); - this.env[name].__code__ = new Pair(new LSymbol('define-macro'), macro); - } - }), "(define-macro (name . args) body)\n\n Meta macro, macro that create new macros, if return value is list structure\n it will be evaluated when macro is invoked. You can use quasiquote ` and\n unquote , and unquote-splicing ,@ inside to create expression that will be\n evaluated on runtime. Macros works like this: if you pass any expression to\n macro the arguments will not be evaluated unless macro itself evaluate it.\n Because of this macro can manipulate expression (arguments) as lists."), - // ------------------------------------------------------------------ - quote: doc(new Macro('quote', function (arg) { - return quote(arg.car); - }), "(quote expression)\n\n Macro that return single lips expression as data (it don't evaluate its\n argument). It will return list of pairs if put in front of lips code.\n And if put in fron of symbol it will return that symbol not value\n associated with that name."), - 'unquote-splicing': doc(function () { - throw new Error("You can't call `unquote-splicing` outside of quasiquote"); - }, "(unquote-splicing code)\n\n Special form to be used in quasiquote macro, parser is processing special\n characters ,@ and create call to this pseudo function. It can be used\n to evalute expression inside and return the value without parenthesis.\n the value will be joined to the output list structure."), - 'unquote': doc(function () { - throw new Error("You can't call `unquote` outside of quasiquote"); - }, "(unquote code)\n\n Special form to be used in quasiquote macro, parser is processing special\n characters , and create call to this pseudo function. It can be used\n to evalute expression inside and return the value, the output is inserted\n into list structure created by queasiquote."), - // ------------------------------------------------------------------ - quasiquote: Macro.defmacro('quasiquote', function (arg, env) { - var dynamic_scope = env.dynamic_scope, - error = env.error; - var self = this; //var max_unquote = 1; - - if (dynamic_scope) { - dynamic_scope = self; - } - - function isPair(value) { - return value instanceof Pair; - } - - function resolve_pair(pair, fn) { - var test = arguments.length > 2 && arguments[2] !== undefined$1 ? arguments[2] : isPair; - - if (pair instanceof Pair && !isEmptyList(pair)) { - var car = pair.car; - var cdr = pair.cdr; - - if (test(car)) { - car = fn(car); - } - - if (test(cdr)) { - cdr = fn(cdr); - } - - if (isPromise(car) || isPromise(cdr)) { - return Promise.all([car, cdr]).then(function (_ref13) { - var _ref14 = slicedToArray(_ref13, 2), - car = _ref14[0], - cdr = _ref14[1]; - - return new Pair(car, cdr); - }); - } else { - return new Pair(car, cdr); - } - } - - return pair; - } - - function join(eval_pair, value) { - if (eval_pair instanceof Pair) { - if (isEmptyList(eval_pair) && value === nil) { - return nil; - } - - eval_pair.append(value); - } else { - eval_pair = new Pair(eval_pair, value); - } - - return eval_pair; - } - - function unquote_splice(pair, unquote_cnt, max_unq) { - if (unquote_cnt < max_unq) { - return new Pair(new Pair(pair.car.car, recur(pair.car.cdr, unquote_cnt, max_unq)), nil); - } - - var eval_pair = evaluate(pair.car.cdr.car, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - return unpromise(eval_pair, function (eval_pair) { - if (!(eval_pair instanceof Pair)) { - if (pair.cdr !== nil) { - var msg = "You can't splice atom inside list"; - throw new Error(msg); - } - - return eval_pair; - } // don't create Cycles - - - if (splices.has(eval_pair)) { - eval_pair = eval_pair.clone(); - } else { - splices.add(eval_pair); - } - - var value = recur(pair.cdr, 0, 1); - - if (value === nil && eval_pair === nil) { - return undefined$1; - } - - return unpromise(value, function (value) { - return join(eval_pair, value); - }); - }); - } - - var splices = new Set(); - - function recur(pair, unquote_cnt, max_unq) { - if (pair instanceof Pair && !isEmptyList(pair)) { - if (LSymbol.is(pair.car.car, 'unquote-splicing')) { - return unquote_splice(pair, unquote_cnt + 1, max_unq); - } - - if (LSymbol.is(pair.car, 'quasiquote')) { - var cdr = recur(pair.cdr, unquote_cnt, max_unq + 1); - return new Pair(pair.car, cdr); - } - - if (LSymbol.is(pair.car.car, 'unquote')) { - // + 2 - one for unquote and one for unquote splicing - if (unquote_cnt + 2 === max_unq && pair.car.cdr instanceof Pair && pair.car.cdr.car instanceof Pair && LSymbol.is(pair.car.cdr.car.car, 'unquote-splicing')) { - return new Pair(new LSymbol('unquote'), unquote_splice(pair.car.cdr, unquote_cnt + 2, max_unq)); - } else if (pair.car.cdr instanceof Pair && pair.car.cdr.cdr !== nil && !(pair.car.cdr.car instanceof Pair)) { - // same as in guile if (unquote 1 2 3) it should be - // spliced - scheme spec say it's unspecify but it - // work like in CL - return pair.car.cdr; - } - } - - if (LSymbol.is(pair.car, 'quote')) { - return new Pair(pair.car, recur(pair.cdr, unquote_cnt, max_unq)); - } - - if (LSymbol.is(pair.car, 'unquote')) { - unquote_cnt++; - - if (unquote_cnt < max_unq) { - return new Pair(new LSymbol('unquote'), recur(pair.cdr, unquote_cnt, max_unq)); - } - - if (unquote_cnt > max_unq) { - throw new Error("You can't call `unquote` outside " + "of quasiquote"); - } - - if (pair.cdr instanceof Pair) { - if (pair.cdr.cdr !== nil) { - if (pair.cdr.car instanceof Pair) { - return unpromise(recur(pair.cdr.cdr, unquote_cnt, max_unq), function (value) { - var unquoted = evaluate(pair.cdr.car, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - return new Pair(unquoted, value); - }); - } else { - return pair.cdr; - } - } else { - return evaluate(pair.cdr.car, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - } - } else { - return pair.cdr; - } - } - - return resolve_pair(pair, function (pair) { - return recur(pair, unquote_cnt, max_unq); - }); - } - - return pair; - } - - function clear(node) { - if (node instanceof Pair) { - delete node.data; - - if (!node.haveCycles('car')) { - clear(node.car); - } - - if (!node.haveCycles('cdr')) { - clear(node.cdr); - } - } - } - - var x = recur(arg.car, 0, 1); - return unpromise(x, function (value) { - // clear nested data for tests - clear(value); - return quote(value); - }); - }, "(quasiquote list ,value ,@value)\n\n Similar macro to `quote` but inside it you can use special\n expressions unquote abbreviated to , that will evaluate expresion inside\n and return its value or unquote-splicing abbreviated to ,@ that will\n evaluate expression but return value without parenthesis (it will join)\n the list with its value. Best used with macros but it can be used outside"), - // ------------------------------------------------------------------ - clone: doc(function (list) { - typecheck('clone', list, 'pair'); - return list.clone(); - }, "(clone list)\n\n Function return clone of the list."), - // ------------------------------------------------------------------ - append: doc(function (list, item) { - typecheck('append', list, 'pair'); - return this.get('append!')(list.clone(), item); - }, "(append list item)\n\n Function will create new list with value appended to the end. It return\n New list."), - 'append!': doc(function (list, item) { - typecheck('append!', list, 'pair'); - - if (isNull(item) || isEmptyList(item)) { - return list; - } - - return list.append(item); - }, "(append! name expression)\n\n Destructive version of append, it modify the list in place. It return\n original list."), - // ------------------------------------------------------------------ - reverse: doc(function (arg) { - typecheck('reverse', arg, ['array', 'pair']); - - if (arg instanceof Pair) { - var arr = this.get('list->array')(arg).reverse(); - return this.get('array->list')(arr); - } else if (!(arg instanceof Array)) { - throw new Error(typeErrorMessage('reverse', type(arg), 'array or pair')); - } else { - return arg.reverse(); - } - }, "(reverse list)\n\n Function will reverse the list or array. If value is not a list\n or array it will throw exception."), - // ------------------------------------------------------------------ - nth: doc(function (index, obj) { - typecheck('nth', index, 'number'); - typecheck('nth', obj, ['array', 'pair']); - - if (obj instanceof Pair) { - var node = obj; - var count = 0; - - while (count < index) { - if (!node.cdr || node.cdr === nil || node.haveCycles('cdr')) { - return nil; - } - - node = node.cdr; - count++; - } - - return node.car; - } else if (obj instanceof Array) { - return obj[index]; - } else { - throw new Error(typeErrorMessage('nth', type(obj), 'array or pair', 2)); - } - }, "(nth index obj)\n\n Function return nth element of the list or array. If used with different\n value it will throw exception"), - // ------------------------------------------------------------------ - list: doc(function () { - for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) { - args[_key16] = arguments[_key16]; - } - - return Pair.fromArray(args); - }, "(list . args)\n\n Function create new list out of its arguments."), - // ------------------------------------------------------------------ - substring: doc(function (string, start, end) { - typecheck('substring', string, 'string'); - typecheck('substring', start, 'number'); - typecheck('substring', end, ['number', 'undefined']); - return string.substring(start.valueOf(), end && end.valueOf()); - }, "(substring string start end)\n\n Function return part of the string starting at start ending with end."), - // ------------------------------------------------------------------ - concat: doc(function () { - for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) { - args[_key17] = arguments[_key17]; - } - - args.forEach(function (arg, i) { - return typecheck('concat', arg, 'string', i + 1); - }); - return args.join(''); - }, "(concat . strings)\n\n Function create new string by joining its arguments"), - // ------------------------------------------------------------------ - join: doc(function (separator, list) { - typecheck('join', separator, 'string'); - typecheck('join', list, 'pair'); - return this.get('list->array')(list).join(separator); - }, "(join separator list)\n\n Function return string by joining elements of the list"), - // ------------------------------------------------------------------ - split: doc(function (separator, string) { - typecheck('split', separator, ['regex', 'string']); - typecheck('split', string, 'string'); - return this.get('array->list')(string.split(separator)); - }, "(split separator string)\n\n Function create list by splitting string by separatar that can\n be a string or regular expression."), - // ------------------------------------------------------------------ - replace: doc(function (pattern, replacement, string) { - typecheck('replace', pattern, ['regex', 'string']); - typecheck('replace', replacement, ['string', 'function']); - typecheck('replace', string, 'string'); - return string.replace(pattern, replacement); - }, "(replace pattern replacement string)\n\n Function change pattern to replacement inside string. Pattern can be string\n or regex and replacement can be function or string."), - // ------------------------------------------------------------------ - match: doc(function (pattern, string) { - typecheck('match', pattern, ['regex', 'string']); - typecheck('match', string, 'string'); - var m = string.match(pattern); - return m ? this.get('array->list')(m) : nil; - }, "(match pattern string)\n\n function return match object from JavaScript as list."), - // ------------------------------------------------------------------ - search: doc(function (pattern, string) { - typecheck('search', pattern, ['regex', 'string']); - typecheck('search', string, 'string'); - return string.search(pattern); - }, "(search pattern string)\n\n Function return first found index of the pattern inside a string"), - // ------------------------------------------------------------------ - string: doc(function string(obj, quote) { - if (typeof jQuery !== 'undefined' && obj instanceof jQuery.fn.init) { - return '<#jQuery(' + obj.length + ')>'; - } - - if (obj instanceof LNumber) { - return obj.value.toString(); - } - - if (typeof obj === 'undefined') { - return '<#undefined>'; - } - - if (typeof obj === 'function') { - if (isNativeFunction(obj)) { - return '<#function(native)>'; - } - - return '<#function>'; - } - - if (obj instanceof RegExp) { - return obj.toString(); - } - - if (obj === nil) { - return 'nil'; - } - - if (obj instanceof Array) { - return '[' + obj.map(function (x) { - return string(x, true); - }).join(', ') + ']'; - } - - if (obj === null || typeof obj === 'string' && quote) { - return JSON.stringify(obj).replace(/\\n/g, '\n'); - } - - if (obj instanceof Pair) { - return obj.toString(); - } - - if (obj instanceof LSymbol) { - return obj.toString(); - } - - if (root.HTMLElement && obj instanceof root.HTMLElement) { - return "<#HTMLElement(".concat(obj.tagName.toLowerCase(), ")>"); - } - - if (_typeof_1(obj) === 'object') { - var constructor = obj.constructor; - var name; - - if (typeof constructor.__className === 'string') { - name = constructor.__className; - } else if (type(obj) === 'instance') { - name = 'instance'; - } else { - name = constructor.name; - } - - if (name !== '') { - return '<#' + name + '>'; - } - - return '<#Object>'; - } - - if (typeof obj !== 'string') { - return obj.toString(); - } - - return obj; - }, "(string obj)\n\n Function return string LIPS representation of an object as string."), - // ------------------------------------------------------------------ - env: doc(function (env) { - env = env || this; - var names = Object.keys(env.env); - var result; - - if (names.length) { - result = Pair.fromArray(names); - } else { - result = nil; - } - - if (env.parent !== undefined$1) { - return this.get('env').call(this, env.parent).append(result); - } - - return result; - }, "(env obj)\n\n Function return list values (functions and variables) inside environment."), - 'new': doc(function (obj) { - for (var _len18 = arguments.length, args = new Array(_len18 > 1 ? _len18 - 1 : 0), _key18 = 1; _key18 < _len18; _key18++) { - args[_key18 - 1] = arguments[_key18]; - } - - var instance = construct(unbind(obj), args); - - Object.defineProperty(instance, '__instance__', { - enumerable: false, - get: function get() { - return true; - }, - set: function set() {}, - configurable: false - }); - return instance; - }, "(new obj . args)\n\n Function create new JavaScript instance of an object."), - // ------------------------------------------------------------------ - 'unset!': doc(function (symbol) { - typecheck('unset!', symbol, 'symbol'); - delete this.env[symbol.name]; - }, "(unset! name)\n\n Function delete specified name from environment."), - // ------------------------------------------------------------------ - 'remove-special!': doc(function (symbol) { - typecheck('remove-special!', symbol, 'string'); - delete specials[symbol]; - }, "(remove-special! symbol)\n\n Function remove special symbol from parser. Added by `add-special!`"), - // ------------------------------------------------------------------ - 'add-special!': doc(function (symbol, name) { - typecheck('remove-special!', symbol, 'string', 1); - typecheck('remove-special!', name, 'symbol', 2); - lips.specials[symbol] = name; - }, "(add-special! symbol name)\n\n Add special symbol to the list of transforming operators by the parser.\n e.g.: `(add-special! '#)` will allow to use `#(1 2 3)` and it will be\n transformed into (# (1 2 3)) so you can write # macro that will process\n the list. It's main purpose to to allow to use `define-symbol-macro`"), - // ------------------------------------------------------------------ - 'get': get, - '.': get, - // ------------------------------------------------------------------ - 'unbind': doc(unbind, "(unbind fn)\n\n Function remove bidning from function so you can get props from it."), - // ------------------------------------------------------------------ - type: doc(type, "(type object)\n\n Function return type of an object as string."), - // ------------------------------------------------------------------ - 'instanceof': doc(function (type, obj) { - return obj instanceof type; - }, "(instanceof type obj)\n\n Function check of object is instance of object."), - // ------------------------------------------------------------------ - 'macro?': doc(function (obj) { - return obj instanceof Macro; - }, "(macro? expression)\n\n Function check if value is a macro."), - // ------------------------------------------------------------------ - 'function?': doc(function (obj) { - return typeof obj === 'function'; - }, "(function? expression)\n\n Function check if value is a function."), - // ------------------------------------------------------------------ - 'real?': doc(function (value) { - if (type(value) !== 'number') { - return false; - } - - if (value instanceof LNumber) { - return value.isFloat(); - } - - return LNumber.isFloat(value); - }, "(real? number)\n\n Function check if value is real number."), - // ------------------------------------------------------------------ - 'number?': doc(LNumber.isNumber, "(number? expression)\n\n Function check if value is a number"), - // ------------------------------------------------------------------ - 'string?': doc(function (obj) { - return typeof obj === 'string'; - }, "(string? expression)\n\n Function check if value is a string."), - // ------------------------------------------------------------------ - 'pair?': doc(function (obj) { - return obj instanceof Pair; - }, "(pair? expression)\n\n Function check if value is a pair or list structure."), - // ------------------------------------------------------------------ - 'regex?': doc(function (obj) { - return obj instanceof RegExp; - }, "(regex? expression)\n\n Function check if value is regular expression."), - // ------------------------------------------------------------------ - 'null?': doc(function (obj) { - return isNull(obj) || obj instanceof Pair && obj.isEmptyList(); - }, "(null? expression)\n\n Function check if value is nulish."), - // ------------------------------------------------------------------ - 'boolean?': doc(function (obj) { - return typeof obj === 'boolean'; - }, "(boolean? expression)\n\n Function check if value is boolean."), - // ------------------------------------------------------------------ - 'symbol?': doc(function (obj) { - return obj instanceof LSymbol; - }, "(symbol? expression)\n\n Function check if value is LIPS symbol"), - // ------------------------------------------------------------------ - 'array?': doc(function (obj) { - return obj instanceof Array; - }, "(array? expression)\n\n Function check if value is an arrray."), - // ------------------------------------------------------------------ - 'object?': doc(function (obj) { - return obj !== nil && obj !== null && !(obj instanceof LNumber) && _typeof_1(obj) === 'object' && !(obj instanceof Array); - }, "(object? expression)\n\n Function check if value is an object."), - // ------------------------------------------------------------------ - read: doc(function read(arg) { - var _this2 = this; - - if (typeof arg === 'string') { - return parse(tokenize(arg))[0]; - } - - return this.get('stdin').read().then(function (text) { - return read.call(_this2, text); - }); - }, "(read [string])\n\n Function if used with string will parse the string and return\n list structure of LIPS code. If called without an argument it\n will read string from standard input (using browser prompt or\n user defined way) and call itself with that string (parse is)\n function can be used together with eval to evaluate code from\n string"), - // ------------------------------------------------------------------ - pprint: doc(function (arg) { - if (arg instanceof Pair) { - arg = new lips.Formatter(arg.toString())["break"]().format(); - this.get('stdout').write(arg); - } else { - this.get('display').call(this, arg); - } - }, "(pprint expression)\n\n Pretty print list expression, if called with non-pair it just call\n print function with passed argument."), - // ------------------------------------------------------------------ - print: doc(function () { - throw new Error('Function print was removed in version 0.20.0 use ' + 'display insided'); - }, "(print . args)\n\n defunct function, we keep it to show proper error when used."), - // ------------------------------------------------------------------ - display: doc(function () { - var _this$get, - _this3 = this; - - for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) { - args[_key19] = arguments[_key19]; - } - - (_this$get = this.get('stdout')).write.apply(_this$get, toConsumableArray(args.map(function (arg) { - return _this3.get('string')(arg, typeof arg === 'string'); - }))); - }, "(display . args)\n\n Function convert each argument to string and print the result to\n standard output (by default it's console but it can be defined\n it user code)"), - // ------------------------------------------------------------------ - error: doc(function () { - for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) { - args[_key20] = arguments[_key20]; - } - - this.get('display').apply(this, args); - }, "(error . args)\n\n Display error message."), - // ------------------------------------------------------------------ - flatten: doc(function (list) { - typecheck('flatten', list, 'pair'); - return list.flatten(); - }, "(flatten list)\n\n Return shallow list from tree structure (pairs)."), - // ------------------------------------------------------------------ - 'array->list': doc(function (array) { - typecheck('array->list', array, 'array'); - return Pair.fromArray(array); - }, "(array->list array)\n\n Function convert JavaScript array to LIPS list."), - // ------------------------------------------------------------------ - 'tree->array': doc(toArray('tree->array', true), "(tree->array list)\n\n Function convert LIPS list structure into JavaScript array."), - // ------------------------------------------------------------------ - 'list->array': doc(toArray('list->array'), "(list->array list)\n\n Function convert LIPS list into JavaScript array."), - // ------------------------------------------------------------------ - apply: doc(function (fn, list) { - typecheck('call', fn, 'function', 1); - typecheck('call', list, 'pair', 2); - return fn.apply(void 0, toConsumableArray(this.get('list->array')(list))); - }, "(apply fn list)\n\n Function that call function with list of arguments."), - // ------------------------------------------------------------------ - 'length': doc(function (obj) { - if (!obj) { - return LNumber(0); - } - - if (obj instanceof Pair) { - return LNumber(obj.length()); - } - - if ("length" in obj) { - return LNumber(obj.length); - } - }, "(length expression)\n\n Function return length of the object, the object can be list\n or any object that have length property."), - 'try': doc(new Macro('try', function (code, _ref15) { - var _this4 = this; - - var dynamic_scope = _ref15.dynamic_scope, - _error = _ref15.error; - return new Promise(function (resolve) { - var args = { - env: _this4, - error: function error(e) { - var env = _this4.inherit('try'); - - env.set(code.cdr.car.cdr.car.car, e); - var args = { - env: env, - error: _error - }; - - if (dynamic_scope) { - args.dynamic_scope = _this4; - } - - unpromise(evaluate(new Pair(new LSymbol('begin'), code.cdr.car.cdr.cdr), args), function (result) { - resolve(result); - }); - } - }; - - if (dynamic_scope) { - args.dynamic_scope = _this4; - } - - var ret = evaluate(code.car, args); - - if (isPromise(ret)) { - ret["catch"](args.error).then(resolve); - } else { - resolve(ret); - } - }); - }), "(try expr (catch (e) code)"), - // ------------------------------------------------------------------ - find: doc(function find(arg, list) { - typecheck('find', arg, ['regex', 'function']); - typecheck('find', list, 'pair'); - - if (isNull(list)) { - return nil; - } - - var fn = matcher('find', arg); - return unpromise(fn(list.car), function (value) { - if (value && value !== nil) { - return list.car; - } - - return find(arg, list.cdr); - }); - }, "(find fn list)\n (find regex list)\n\n Higher order Function find first value for which function return true.\n If called with regex it will create matcher function."), - // ------------------------------------------------------------------ - 'for-each': doc(function (fn) { - var _this$get2; - - typecheck('for-each', fn, 'function'); - - for (var _len21 = arguments.length, lists = new Array(_len21 > 1 ? _len21 - 1 : 0), _key21 = 1; _key21 < _len21; _key21++) { - lists[_key21 - 1] = arguments[_key21]; - } - - lists.forEach(function (arg, i) { - typecheck('for-each', arg, ['pair', 'nil'], i + 1); - }); // we need to use call(this because babel transpile this code into: - // var ret = map.apply(void 0, [fn].concat(lists)); - // it don't work with weakBind - - var ret = (_this$get2 = this.get('map')).call.apply(_this$get2, [this, fn].concat(lists)); - - if (isPromise(ret)) { - return ret.then(function () {}); - } - }, "(for-each fn . lists)\n\n Higher order function that call function `fn` by for each\n value of the argument. If you provide more then one list as argument\n it will take each value from each list and call `fn` function\n with that many argument as number of list arguments."), - // ------------------------------------------------------------------ - map: doc(function map(fn) { - var _this5 = this; - - for (var _len22 = arguments.length, lists = new Array(_len22 > 1 ? _len22 - 1 : 0), _key22 = 1; _key22 < _len22; _key22++) { - lists[_key22 - 1] = arguments[_key22]; - } - - typecheck('map', fn, 'function'); - lists.forEach(function (arg, i) { - typecheck('map', arg, ['pair', 'nil'], i + 1); - }); - - if (lists.some(function (x) { - return x === nil; - })) { - return nil; - } - - if (lists.some(isEmptyList)) { - return emptyList(); - } - - var args = lists.map(function (l) { - return l.car; - }); - var env = this; - args.callee = fn; - env.set('arguments', args); - return unpromise(fn.call.apply(fn, [env].concat(toConsumableArray(args))), function (head) { - return unpromise(map.call.apply(map, [_this5, fn].concat(toConsumableArray(lists.map(function (l) { - return l.cdr; - })))), function (rest) { - return new Pair(head, rest); - }); - }); - }, "(map fn . lists)\n\n Higher order function that call function `fn` by for each\n value of the argument. If you provide more then one list as argument\n it will take each value from each list and call `fn` function\n with that many argument as number of list arguments. The return\n values of the function call is acumulated in result list and\n returned by the call to map."), - // ------------------------------------------------------------------ - some: doc(function some(fn, list) { - typecheck('some', fn, 'function'); - typecheck('some', list, ['pair', 'nil']); - - if (isNull(list)) { - return false; - } else { - return unpromise(fn(list.car), function (value) { - return value || some(fn, list.cdr); - }); - } - }, "(some fn list)\n\n Higher order function that call argument on each element of the list.\n It stops when function fn return true for a value if so it will\n return true. If it don't find the value it will return false"), - // ------------------------------------------------------------------ - fold: doc(fold('fold', function (fold, fn, init) { - for (var _len23 = arguments.length, lists = new Array(_len23 > 3 ? _len23 - 3 : 0), _key23 = 3; _key23 < _len23; _key23++) { - lists[_key23 - 3] = arguments[_key23]; - } - - typecheck('fold', fn, 'function'); - lists.forEach(function (arg, i) { - typecheck('fold', arg, ['pair', 'nil'], i + 1); - }); - - if (lists.some(isEmptyList)) { - return init; - } - - var value = fold.call.apply(fold, [this, fn, init].concat(toConsumableArray(lists.map(function (l) { - return l.cdr; - })))); - return unpromise(value, function (value) { - return fn.apply(void 0, toConsumableArray(lists.map(function (l) { - return l.car; - })).concat([value])); - }); - }), "(fold fn init . lists)\n\n Function fold is reverse of the reduce. it call function `fn`\n on each elements on the list and return single value.\n e.g. it call (fn a1 b1 (fn a2 b2 (fn a3 b3 '())))\n for: (fold fn '() alist blist"), - // ------------------------------------------------------------------ - pluck: doc(function () { - for (var _len24 = arguments.length, keys = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) { - keys[_key24] = arguments[_key24]; - } - - return function (obj) { - keys = keys.map(function (x) { - return x instanceof LSymbol ? x.name : x; - }); - - if (keys.length === 0) { - return nil; - } else if (keys.length === 1) { - var _keys2 = keys, - _keys3 = slicedToArray(_keys2, 1), - key = _keys3[0]; - - return obj[key]; - } - - var result = {}; - keys.forEach(function (key) { - result[key] = obj[key]; - }); - return result; - }; - }, "(pluck . string)\n\n If called with single string it will return function that will return\n key from object. If called with more then one argument function will\n return new object by taking all properties from given object."), - // ------------------------------------------------------------------ - reduce: doc(fold('reduce', function (reduce, fn, init) { - var _this6 = this; - - for (var _len25 = arguments.length, lists = new Array(_len25 > 3 ? _len25 - 3 : 0), _key25 = 3; _key25 < _len25; _key25++) { - lists[_key25 - 3] = arguments[_key25]; - } - - typecheck('reduce', fn, 'function'); - lists.forEach(function (arg, i) { - typecheck('reduce', arg, ['pair', 'nil'], i + 1); - }); - - if (lists.some(isEmptyList)) { - return init; - } - - return unpromise(fn.apply(void 0, toConsumableArray(lists.map(function (l) { - return l.car; - })).concat([init])), function (value) { - return reduce.call.apply(reduce, [_this6, fn, value].concat(toConsumableArray(lists.map(function (l) { - return l.cdr; - })))); - }); - }), "(reduce fn init list . lists)\n\n Higher order function take each element of the list and call\n the function with result of previous call or init and next element\n on the list until each element is processed and return single value\n as result of last call to `fn` function.\n e.g. it call (fn a3 b3 (fn a2 b2 (fn a1 b1 init)))\n for (reduce fn init alist blist"), - // ------------------------------------------------------------------ - filter: doc(function (arg, list) { - typecheck('filter', arg, ['regex', 'function']); - typecheck('filter', list, ['pair', 'nil']); - var array = this.get('list->array')(list); - var result = []; - var fn = matcher('filter', arg); - return function loop(i) { - function next(value) { - if (value && value !== nil) { - result.push(item); - } - - return loop(++i); - } - - if (i === array.length) { - return Pair.fromArray(result); - } - - var item = array[i]; - return unpromise(fn(item, i), next); - }(0); - }, "(filter fn list)\n (filter regex list)\n\n Higher order function that call `fn` for each element of the list\n and return list for only those elements for which funtion return\n true value. If called with regex it will create matcher function."), - // ------------------------------------------------------------------ - range: doc(function (n) { - typecheck('range', n, 'number'); - - if (n instanceof LNumber) { - n = n.valueOf(); - } - - return Pair.fromArray(new Array(n).fill(0).map(function (_, i) { - return LNumber(i); - })); - }, "(range n)\n\n Function return list of n numbers from 0 to n - 1"), - // ------------------------------------------------------------------ - compose: doc(compose, "(compose . fns)\n\n Higher order function and create new function that apply all functions\n From right to left and return it's value. Reverse of compose.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 3)\n 11\n "), - pipe: doc(pipe, "(pipe . fns)\n\n Higher order function and create new function that apply all functions\n From left to right and return it's value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 3)\n 15"), - curry: doc(curry, "(curry fn . args)\n\n Higher order function that create curried version of the function.\n The result function will have parially applied arguments and it\n will keep returning functions until all arguments are added\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"), - // ------------------------------------------------------------------ - odd: doc(singleMathOp(function (num) { - return LNumber(num).isOdd(); - }), "(odd number)\n Function check if number os odd."), - // ------------------------------------------------------------------ - even: doc(singleMathOp(function (num) { - return LNumber(num).isEvent(); - }), "(even number)\n\n Function check if number is even."), - // ------------------------------------------------------------------ - // math functions - '*': doc(reduceMathOp(function (a, b) { - return LNumber(a).mul(b); - }), "(* . numbers)\n\n Multiplicate all numbers passed as arguments. If single value is passed\n it will return that value."), - // ------------------------------------------------------------------ - '+': doc(reduceMathOp(function (a, b) { - return LNumber(a).add(b); - }), "(+ . numbers)\n\n Sum all numbers passed as arguments. If single value is passed it will\n return that value."), - // ------------------------------------------------------------------ - '-': doc(function () { - for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) { - args[_key26] = arguments[_key26]; - } - - if (args.length === 1) { - return LNumber(args[0]).neg(); - } - - if (args.length) { - return args.reduce(binaryMathOp(function (a, b) { - return LNumber(a).sub(b); - })); - } - }, "(- . numbers)\n (- number)\n\n Substract number passed as argument. If only one argument is passed\n it will negate the value."), - // ------------------------------------------------------------------ - '/': doc(reduceMathOp(function (a, b) { - return LNumber(a).div(b); - }), "(/ . numbers)\n\n Divide number passed as arguments one by one. If single argument\n is passed it will return that value."), - // ------------------------------------------------------------------ - 'abs': doc(singleMathOp(function (n) { - return LNumber(n).abs(); - }), "(abs number)\n\n Function create absolute value from number."), - // ------------------------------------------------------------------ - 'sqrt': doc(singleMathOp(function (n) { - return Math.sqrt(n); - }), "(sqrt number)\n\n Function return square root of the number."), - // ------------------------------------------------------------------ - '**': doc(binaryMathOp(function (a, b) { - return LNumber(a).pow(b); - }), "(** a b)\n\n Function calculate number a to to the power of b. It can throw\n exception when ** native operator is not supported."), - // ------------------------------------------------------------------ - '1+': doc(singleMathOp(function (number) { - return LNumber(number).add(1); - }), "(1+ number)\n\n Function add 1 to the number and return result."), - // ------------------------------------------------------------------ - '1-': doc(singleMathOp(function (number) { - return LNumber(number).sub(1); - }), "(1- number)\n\n Function substract 1 from the number and return result."), - // ------------------------------------------------------------------ - '++': doc(new Macro('++', function (code) { - typecheck('++', code.car, 'symbol'); - var car = this.get(code.car); - var value = LNumber(car).add(1); - this.set(code.car, value); - return value; - }), "(++ variable)\n\n Macro that work only on variables and increment the value by one."), - // ------------------------------------------------------------------ - '--': doc(new Macro('--', function (code) { - typecheck('--', code.car, 'symbol'); - var car = this.get(code.car); - var value = LNumber(car).sub(1); - this.set(code.car, value); - return value; - }), "(-- variable)\n\n Macro that decrement the value it work only on symbols"), - // ------------------------------------------------------------------ - '%': doc(reduceMathOp(function (a, b) { - return LNumber(a).mod(b); - }), "(% . numbers)\n\n Function use modulo operation on each of the numbers. It return\n single number."), - // ------------------------------------------------------------------ - // Booleans - '==': doc(function (a, b) { - return LNumber(a).cmp(b) === 0; - }, "(== a b)\n\n Function compare two numbers and check if they are equal."), - // ------------------------------------------------------------------ - '>': doc(function (a, b) { - return LNumber(a).cmp(b) === 1; - }, "(> a b)\n\n Function compare two numbers and check if first argument is greater\n than the second one"), - // ------------------------------------------------------------------ - '<': doc(function (a, b) { - return LNumber(a).cmp(b) === -1; - }, "(< a b)\n\n Function compare two numbers and check if first argument is less\n than the second one"), - // ------------------------------------------------------------------ - '<=': doc(function (a, b) { - return [0, -1].includes(LNumber(a).cmp(b)); - }, "(<= a b)\n\n Function compare two numbers and check if first argument is less or\n equal to the second one"), - // ------------------------------------------------------------------ - '>=': doc(function (a, b) { - return [0, 1].includes(LNumber(a).cmp(b)); - }, "(>= a b)\n\n Function compare two numbers and check if first argument is less or\n equal to the second one"), - // ------------------------------------------------------------------ - 'eq?': doc(equal, "(eq? a b)\n\n Function compare two values if they are identical."), - // ------------------------------------------------------------------ - or: doc(new Macro('or', function (code, _ref16) { - var dynamic_scope = _ref16.dynamic_scope, - error = _ref16.error; - var args = this.get('list->array')(code); - var self = this; - - if (dynamic_scope) { - dynamic_scope = self; - } - - var result; - return function loop() { - function next(value) { - result = value; - - if (result) { - return result; - } else { - return loop(); - } - } - - var arg = args.shift(); - - if (typeof arg === 'undefined') { - if (result) { - return result; - } else { - return false; - } - } else { - var value = evaluate(arg, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - return unpromise(value, next); - } - }(); - }), "(or . expressions)\n\n Macro execute the values one by one and return the one that is truthy value.\n If there are no expression that evaluate to true it return false."), - // ------------------------------------------------------------------ - and: doc(new Macro('and', function (code) { - var _ref17 = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}, - dynamic_scope = _ref17.dynamic_scope, - error = _ref17.error; - - var args = this.get('list->array')(code); - var self = this; - - if (dynamic_scope) { - dynamic_scope = self; - } - - if (!args.length) { - return true; - } - - var result; - return function loop() { - function next(value) { - result = value; - - if (!result) { - return false; - } else { - return loop(); - } - } - - var arg = args.shift(); - - if (typeof arg === 'undefined') { - if (result) { - return result; - } else { - return false; - } - } else { - var value = evaluate(arg, { - env: self, - dynamic_scope: dynamic_scope, - error: error - }); - return unpromise(value, next); - } - }(); - }), "(and . expressions)\n\n Macro evalute each expression in sequence if any value return false it will\n return false. If each value return true it will return the last value.\n If it's called without arguments it will return true."), - // bit operations - '|': doc(function (a, b) { - return LNumber(a).or(b); - }, "(& a b)\n\n Function calculate or bit operation."), - '&': doc(function (a, b) { - return LNumber(a).and(b); - }, "(& a b)\n\n Function calculate and bit operation."), - '~': doc(function (a) { - return LNumber(a).neg(); - }, "(~ number)\n\n Function negate the value."), - '>>': doc(function (a, b) { - return LNumber(a).shr(b); - }, "(>> a b)\n\n Function right shit the value a by value b."), - '<<': doc(function (a, b) { - return LNumber(a).shl(b); - }, "(<< a b)\n\n Function left shit the value a by value b."), - not: doc(function (value) { - if (isEmptyList(value)) { - return true; - } - - return !value; - }, "(not object)\n\n Function return negation of the argument."), - '->': doc(function (obj, name) { - for (var _len27 = arguments.length, args = new Array(_len27 > 2 ? _len27 - 2 : 0), _key27 = 2; _key27 < _len27; _key27++) { - args[_key27 - 2] = arguments[_key27]; - } - - return obj[name].apply(obj, args); - }, "(-> obj name . args)\n\n Function get function from object and call it with arguments.") - }, undefined$1, 'global'); // ------------------------------------------------------------------------- - - ['floor', 'round', 'ceil'].forEach(function (fn) { - global_env.set(fn, doc(function (value) { - typecheck(fn, value, 'number'); - - if (value instanceof LNumber) { - return value[fn](); - } - }, "(".concat(fn, " number)\n\n Function calculate ").concat(fn, " of a number."))); - }); // ------------------------------------------------------------------------- - // source: https://stackoverflow.com/a/4331218/387194 - - function allPossibleCases(arr) { - if (arr.length === 1) { - return arr[0]; - } else { - var result = []; // recur with the rest of array - - var allCasesOfRest = allPossibleCases(arr.slice(1)); - - for (var i = 0; i < allCasesOfRest.length; i++) { - for (var j = 0; j < arr[0].length; j++) { - result.push(arr[0][j] + allCasesOfRest[i]); - } - } - - return result; - } - } // ------------------------------------------------------------------------- - - - function combinations(input, start, end) { - var result = []; - - for (var i = start; i <= end; ++i) { - var input_arr = []; - - for (var j = 0; j < i; ++j) { - input_arr.push(input); - } - - result = result.concat(allPossibleCases(input_arr)); - } - - return result; - } // ------------------------------------------------------------------------- - // cadr caddr cadadr etc. - - - combinations(['d', 'a'], 2, 5).forEach(function (spec) { - var s = spec.split(''); - var chars = s.slice().reverse(); - var code = s.map(function (c) { - return "(c".concat(c, "r"); - }).join(' ') + ' arg' + ')'.repeat(s.length); - var name = 'c' + spec + 'r'; - global_env.set(name, doc(function (arg) { - return chars.reduce(function (list, type) { - if (list === nil) { - return nil; - } - - typecheck(name, list, 'pair'); - - if (type === 'a') { - return list.car; - } else { - return list.cdr; - } - }, arg); - }, "(".concat(name, " arg)\n\n Function calculate ").concat(code))); - }); // ------------------------------------------------------------------------- - - if (typeof global !== 'undefined') { - global_env.set('global', global); // --------------------------------------------------------------------- - - global_env.set('require.resolve', doc(function (path) { - return require.resolve(path); - }, "(require.resolve path)\n\n Return path relative the current module.")); // --------------------------------------------------------------------- - - global_env.set('require', doc(function (module) { - return require(module); - }, "(require module)\n\n Function to be used inside Node.js to import the module.")); // --------------------------------------------------------------------- - } else if (typeof window !== 'undefined') { - global_env.set('window', window); - } // ------------------------------------------------------------------------- - - - function typeErrorMessage(fn, got, expected) { - var position = arguments.length > 3 && arguments[3] !== undefined$1 ? arguments[3] : null; - var postfix = fn ? " in function `".concat(fn, "`") : ''; - - if (position !== null) { - postfix += " argument ".concat(position); - } - - if (expected instanceof Array) { - var last = expected[expected.length - 1]; - expected = expected.slice(0, -1).join(', ') + ' or ' + last; - } - - return "Expecting ".concat(expected, " got ").concat(got).concat(postfix); - } // ------------------------------------------------------------------------- - - - function typecheck(fn, arg, expected) { - var position = arguments.length > 3 && arguments[3] !== undefined$1 ? arguments[3] : null; - var arg_type = type(arg); - var match = false; - - if (expected instanceof Array && expected.includes(arg_type)) { - match = true; - } - - if (!match && arg_type !== expected) { - throw new Error(typeErrorMessage(fn, arg_type, expected, position)); - } - } // ------------------------------------------------------------------------- - - - function selfEvaluated(obj) { - var type = _typeof_1(obj); - - return ['string', 'function'].includes(type) || obj instanceof LNumber || obj instanceof RegExp; - } // ------------------------------------------------------------------------- - - - function type(obj) { - var mapping = { - 'pair': Pair, - 'symbol': LSymbol, - 'macro': Macro, - 'array': Array, - 'native_symbol': Symbol - }; - - if (obj === nil) { - return 'nil'; - } - - if (obj === null) { - return 'null'; - } - - for (var _i2 = 0, _Object$entries = Object.entries(mapping); _i2 < _Object$entries.length; _i2++) { - var _Object$entries$_i = slicedToArray(_Object$entries[_i2], 2), - key = _Object$entries$_i[0], - value = _Object$entries$_i[1]; - - if (obj instanceof value) { - return key; - } - } - - if (obj instanceof LNumber) { - return 'number'; - } - - if (obj instanceof RegExp) { - return "regex"; - } - - if (_typeof_1(obj) === 'object') { - if (obj.__instance__) { - obj.__instance__ = false; - - if (obj.__instance__) { - return 'instance'; - } - } - - return obj.constructor.name; - } - - return _typeof_1(obj); - } // ------------------------------------------------------------------------- - // :; wrap tree of Promises with single Promise or return argument as is - // :: if tree have no Promises - // ------------------------------------------------------------------------- - - - function resolvePromises(arg) { - var promises = []; - traverse(arg); - - if (promises.length) { - return resolve(arg); - } - - return arg; - - function traverse(node) { - if (isPromise(node)) { - promises.push(node); - } else if (node instanceof Pair) { - if (!node.haveCycles('car')) { - traverse(node.car); - } - - if (!node.haveCycles('cdr')) { - traverse(node.cdr); - } - } else if (node instanceof Array) { - node.forEach(traverse); - } - } - - function promise(_x4) { - return _promise.apply(this, arguments); - } - - function _promise() { - _promise = asyncToGenerator( - /*#__PURE__*/ - regenerator.mark(function _callee3(node) { - var pair; - return regenerator.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.t0 = Pair; - - if (!node.haveCycles('car')) { - _context3.next = 5; - break; - } - - _context3.t1 = node.car; - _context3.next = 8; - break; - - case 5: - _context3.next = 7; - return resolve(node.car); - - case 7: - _context3.t1 = _context3.sent; - - case 8: - _context3.t2 = _context3.t1; - - if (!node.haveCycles('cdr')) { - _context3.next = 13; - break; - } - - _context3.t3 = node.cdr; - _context3.next = 16; - break; - - case 13: - _context3.next = 15; - return resolve(node.cdr); - - case 15: - _context3.t3 = _context3.sent; - - case 16: - _context3.t4 = _context3.t3; - pair = new _context3.t0(_context3.t2, _context3.t4); - - if (node.data) { - pair.data = true; - } - - return _context3.abrupt("return", pair); - - case 20: - case "end": - return _context3.stop(); - } - } - }, _callee3); - })); - return _promise.apply(this, arguments); - } - - function resolve(node) { - if (node instanceof Array) { - return Promise.all(node.map(resolve)); - } - - if (node instanceof Pair && promises.length) { - return promise(node); - } - - return node; - } - } - - function getFunctionArgs(rest, _ref18) { - var env = _ref18.env, - dynamic_scope = _ref18.dynamic_scope, - error = _ref18.error; - var args = []; - var node = rest; - markCycles(node); - - while (true) { - if (node instanceof Pair && !isEmptyList(node)) { - var arg = evaluate(node.car, { - env: env, - dynamic_scope: dynamic_scope, - error: error - }); - - if (dynamic_scope) { - arg = unpromise(arg, function (arg) { - if (typeof arg === 'function' && isNativeFunction(arg)) { - return arg.bind(dynamic_scope); - } - - return arg; - }); - } - - args.push(arg); - - if (node.haveCycles('cdr')) { - break; - } - - node = node.cdr; - } else { - break; - } - } - - return resolvePromises(args); - } // ------------------------------------------------------------------------- - - - function evaluateMacro(macro, code, eval_args) { - - var value = macro.invoke(code, eval_args); - return unpromise(resolvePromises(value), function ret(value) { - if (value && value.data || !value || selfEvaluated(value)) { - return value; - } else { - return quote(evaluate(value, eval_args)); - } - }); - } // ------------------------------------------------------------------------- - - - function evaluate(code) { - var _ref19 = arguments.length > 1 && arguments[1] !== undefined$1 ? arguments[1] : {}, - env = _ref19.env, - dynamic_scope = _ref19.dynamic_scope, - _ref19$error = _ref19.error, - error = _ref19$error === void 0 ? function () {} : _ref19$error; - - try { - if (dynamic_scope === true) { - env = dynamic_scope = env || global_env; - } else if (env === true) { - env = dynamic_scope = global_env; - } else { - env = env || global_env; - } - - var eval_args = { - env: env, - dynamic_scope: dynamic_scope, - error: error - }; - var value; - - if (isNull(code)) { - return code; - } - - if (isEmptyList(code)) { - return emptyList(); - } - - if (code instanceof LSymbol) { - return env.get(code, { - weak: true - }); - } - - var first = code.car; - var rest = code.cdr; - - if (first instanceof Pair) { - value = resolvePromises(evaluate(first, eval_args)); - - if (isPromise(value)) { - return value.then(function (value) { - return evaluate(new Pair(value, code.cdr), eval_args); - }); // else is later in code - } else if (typeof value !== 'function') { - throw new Error(type(value) + ' ' + env.get('string')(value) + ' is not a function while evaluating ' + code.toString()); - } - } - - if (first instanceof LSymbol) { - value = env.get(first, { - weak: true - }); - - if (value instanceof Macro) { - //var scope = env.inherit('__frame__'); - var ret = evaluateMacro(value, rest, eval_args); - return unpromise(ret, function (result) { - if (result instanceof Pair) { - return result.markCycles(); - } - - return result; - }); - } else if (typeof value !== 'function') { - if (value) { - var msg = "".concat(type(value), " `").concat(value, "' is not a function"); - throw new Error(msg); - } - - throw new Error("Unknown function `".concat(first.name, "'")); - } - } else if (typeof first === 'function') { - value = first; - } - - if (typeof value === 'function') { - var args = getFunctionArgs(rest, eval_args); - return unpromise(args, function (args) { - var scope = (dynamic_scope || env).inherit('__frame__'); - scope.set('parent.frame', function () { - var n = arguments.length > 0 && arguments[0] !== undefined$1 ? arguments[0] : 1; - - if (n === 0) { - return scope; - } - - if (!(scope.parent instanceof Environment)) { - return nil; - } - - var parent_frame = scope.parent.get('parent.frame', { - throwError: false - }); - - if (typeof parent_frame === 'function') { - return parent_frame(n - 1); - } - - return nil; - }); - - var _args = args.slice(); - - _args.callee = value; - scope.set('arguments', _args); - var result = resolvePromises(value.apply(scope, args)); - return unpromise(result, function (result) { - if (result instanceof Pair) { - return quote(result.markCycles()); - } - - return result; - }, error); - }); - } else if (code instanceof LSymbol) { - value = env.get(code); - - if (value === 'undefined') { - throw new Error('Unbound variable `' + code.name + '\''); - } - - return value; - } else if (code instanceof Pair) { - value = first && first.toString(); - throw new Error("".concat(type(first), " ").concat(value, " is not a function")); - } else { - return code; - } - } catch (e) { - error && error(e, code); - } - } // ------------------------------------------------------------------------- - - - function exec(_x5, _x6, _x7) { - return _exec.apply(this, arguments); - } // ------------------------------------------------------------------------- - // create token matcher that work with string and object token - // ------------------------------------------------------------------------- - - - function _exec() { - _exec = asyncToGenerator( - /*#__PURE__*/ - regenerator.mark(function _callee4(string, env, dynamic_scope) { - var list, results, code, result; - return regenerator.wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - if (dynamic_scope === true) { - env = dynamic_scope = env || global_env; - } else if (env === true) { - env = dynamic_scope = global_env; - } else { - env = env || global_env; - } - - list = parse(string); - results = []; - - case 3: - - code = list.shift(); - - if (code) { - _context4.next = 9; - break; - } - - return _context4.abrupt("return", results); - - case 9: - _context4.next = 11; - return evaluate(code, { - env: env, - dynamic_scope: dynamic_scope, - error: function error(e, code) { - if (code) { - // LIPS stack trace - if (!(e.code instanceof Array)) { - e.code = []; - } - - e.code.push(code.toString()); - } - - throw e; - } - }); - - case 11: - result = _context4.sent; - results.push(result); - - case 13: - _context4.next = 3; - break; - - case 15: - case "end": - return _context4.stop(); - } - } - }, _callee4); - })); - return _exec.apply(this, arguments); - } - - function matchToken(re) { - return function (token) { - if (!token) { - return false; - } - - return (token.token || token).match(re); - }; - } - - var isParen = matchToken(/[()]/); // ------------------------------------------------------------------------- - - function balanced(code) { - var tokens = typeof code === 'string' ? tokenize(code) : code; - var parenthesis = tokens.filter(isParen); - var open = parenthesis.filter(function (p) { - return (p.token || p) === ')'; - }); - var close = parenthesis.filter(function (p) { - return (p.token || p) === '('; - }); - return open.length === close.length; - } // ------------------------------------------------------------------------- - - - Pair.unDry = function (value) { - return new Pair(value.car, value.cdr); - }; - - Pair.prototype.toDry = function () { - return { - value: { - car: this.car, - cdr: this.cdr - } - }; - }; - - Nil.prototype.toDry = function () { - return { - value: null - }; - }; - - Nil.unDry = function () { - return nil; - }; - - LSymbol.prototype.toDry = function () { - return { - value: { - name: this.name - } - }; - }; - - LSymbol.unDry = function (value) { - return new LSymbol(value.name); - }; // ------------------------------------------------------------------------- - - - function execError(e) { - console.error(e.message || e); - - if (e.code) { - console.error(e.code.map(function (line, i) { - return "[".concat(i + 1, "]: ").concat(line); - })); - } - } // ------------------------------------------------------------------------- - - - function init() { - var lips_mime = 'text/x-lips'; - - if (window.document) { - var scripts = Array.from(document.querySelectorAll('script')); - return function loop() { - var script = scripts.shift(); - - if (script) { - var type = script.getAttribute('type'); - - if (type === lips_mime) { - var src = script.getAttribute('src'); - - if (src) { - return root.fetch(src).then(function (res) { - return res.text(); - }).then(exec).then(loop)["catch"](function (e) { - execError(e); - loop(); - }); - } else { - return exec(script.innerHTML).then(loop)["catch"](function (e) { - execError(e); - loop(); - }); - } - } else if (type && type.match(/lips|lisp/)) { - console.warn('Expecting ' + lips_mime + ' found ' + type); - } - - return loop(); - } - }(); - } - } // ------------------------------------------------------------------------- - - - if (typeof window !== 'undefined') { - contentLoaded(window, init); - } // ------------------------------------------------------------------------- - // to be used with string function when code is minified - // ------------------------------------------------------------------------- - - - Ahead.__className = 'Ahead'; - Pattern.__className = 'Pattern'; - Formatter.__className = 'Formatter'; - Macro.__className = 'Macro'; - Environment.__className = 'Environment'; // ------------------------------------------------------------------------- - - var lips = { - version: '0.20.0', - exec: exec, - parse: parse, - tokenize: tokenize, - evaluate: evaluate, - Environment: Environment, - global_environment: global_env, - globalEnvironment: global_env, - env: global_env, - balanced_parenthesis: balanced, - balancedParenthesis: balanced, - Macro: Macro, - quote: quote, - Pair: Pair, - Formatter: Formatter, - specials: specials, - nil: nil, - resolvePromises: resolvePromises, - LSymbol: LSymbol, - LNumber: LNumber - }; // so it work when used with webpack where it will be not global - - global_env.set('lips', lips); - return lips; - }); - -}()); diff --git a/dist/lips.min.js b/dist/lips.min.js deleted file mode 100644 index 6cd354e6a..000000000 --- a/dist/lips.min.js +++ /dev/null @@ -1,29 +0,0 @@ -/**@license - * LIPS is Pretty Simple - simple scheme like lisp in JavaScript - v. 0.20.0 - * - * Copyright (c) 2018-2019 Jakub T. Jankiewicz - * Released under the MIT license - * - * includes: - * - * unfetch by Jason Miller (@developit) MIT License - * - * contentloaded.js - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - * - * dist file generated by Babel includes code - * Copyright (c) 2014-present, Facebook, Inc. - * released under MIT license - * - * build: Sat, 21 Mar 2020 18:53:47 +0000 - */ -(function(){"use strict";function e(e,n){return n={exports:{}},e(n,n.exports),n.exports}var u=e(function(t){function r(e,n){t.exports=r=Object.setPrototypeOf||function e(n,t){n.__proto__=t;return n};return r(e,n)}t.exports=r});var $e=e(function(r){function i(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],function(){}));return true}catch(e){return false}}function a(e,n,t){if(i()){r.exports=a=Reflect.construct}else{r.exports=a=function e(n,t,r){var i=[null];i.push.apply(i,t);var a=Function.bind.apply(n,i);var o=new a;if(r)u(o,r.prototype);return o}}return a.apply(null,arguments)}r.exports=a});var n=e(function(e){var n=function(a){var e=Object.prototype;var s=e.hasOwnProperty;var c;var n=typeof Symbol==="function"?Symbol:{};var i=n.iterator||"@@iterator";var t=n.asyncIterator||"@@asyncIterator";var r=n.toStringTag||"@@toStringTag";function o(e,n,t,r){var i=n&&n.prototype instanceof u?n:u;var a=Object.create(i.prototype);var o=new A(r||[]);a._invoke=j(e,t,o);return a}a.wrap=o;function f(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(e){return{type:"throw",arg:e}}}var l="suspendedStart";var h="suspendedYield";var p="executing";var d="completed";var v={};function u(){}function m(){}function y(){}var g={};g[i]=function(){return this};var b=Object.getPrototypeOf;var w=b&&b(b(q([])));if(w&&w!==e&&s.call(w,i)){g=w}var _=y.prototype=u.prototype=Object.create(g);m.prototype=_.constructor=y;y.constructor=m;y[r]=m.displayName="GeneratorFunction";function x(e){["next","throw","return"].forEach(function(n){e[n]=function(e){return this._invoke(n,e)}})}a.isGeneratorFunction=function(e){var n=typeof e==="function"&&e.constructor;return n?n===m||(n.displayName||n.name)==="GeneratorFunction":false};a.mark=function(e){if(Object.setPrototypeOf){Object.setPrototypeOf(e,y)}else{e.__proto__=y;if(!(r in e)){e[r]="GeneratorFunction"}}e.prototype=Object.create(_);return e};a.awrap=function(e){return{__await:e}};function k(u){function c(e,n,t,r){var i=f(u[e],u,n);if(i.type==="throw"){r(i.arg)}else{var a=i.arg;var o=a.value;if(o&&typeof o==="object"&&s.call(o,"__await")){return Promise.resolve(o.__await).then(function(e){c("next",e,t,r)},function(e){c("throw",e,t,r)})}return Promise.resolve(o).then(function(e){a.value=e;t(a)},function(e){return c("throw",e,t,r)})}}var n;function e(t,r){function e(){return new Promise(function(e,n){c(t,r,e,n)})}return n=n?n.then(e,e):e()}this._invoke=e}x(k.prototype);k.prototype[t]=function(){return this};a.AsyncIterator=k;a.async=function(e,n,t,r){var i=new k(o(e,n,t,r));return a.isGeneratorFunction(n)?i:i.next().then(function(e){return e.done?e.value:i.next()})};function j(o,u,c){var s=l;return function e(n,t){if(s===p){throw new Error("Generator is already running")}if(s===d){if(n==="throw"){throw t}return N()}c.method=n;c.arg=t;while(true){var r=c.delegate;if(r){var i=S(r,c);if(i){if(i===v)continue;return i}}if(c.method==="next"){c.sent=c._sent=c.arg}else if(c.method==="throw"){if(s===l){s=d;throw c.arg}c.dispatchException(c.arg)}else if(c.method==="return"){c.abrupt("return",c.arg)}s=p;var a=f(o,u,c);if(a.type==="normal"){s=c.done?d:h;if(a.arg===v){continue}return{value:a.arg,done:c.done}}else if(a.type==="throw"){s=d;c.method="throw";c.arg=a.arg}}}}function S(e,n){var t=e.iterator[n.method];if(t===c){n.delegate=null;if(n.method==="throw"){if(e.iterator["return"]){n.method="return";n.arg=c;S(e,n);if(n.method==="throw"){return v}}n.method="throw";n.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var r=f(t,e.iterator,n.arg);if(r.type==="throw"){n.method="throw";n.arg=r.arg;n.delegate=null;return v}var i=r.arg;if(!i){n.method="throw";n.arg=new TypeError("iterator result is not an object");n.delegate=null;return v}if(i.done){n[e.resultName]=i.value;n.next=e.nextLoc;if(n.method!=="return"){n.method="next";n.arg=c}}else{return i}n.delegate=null;return v}x(_);_[r]="Generator";_[i]=function(){return this};_.toString=function(){return"[object Generator]"};function E(e){var n={tryLoc:e[0]};if(1 in e){n.catchLoc=e[1]}if(2 in e){n.finallyLoc=e[2];n.afterLoc=e[3]}this.tryEntries.push(n)}function F(e){var n=e.completion||{};n.type="normal";delete n.arg;e.completion=n}function A(e){this.tryEntries=[{tryLoc:"root"}];e.forEach(E,this);this.reset(true)}a.keys=function(t){var r=[];for(var e in t){r.push(e)}r.reverse();return function e(){while(r.length){var n=r.pop();if(n in t){e.value=n;e.done=false;return e}}e.done=true;return e}};function q(n){if(n){var e=n[i];if(e){return e.call(n)}if(typeof n.next==="function"){return n}if(!isNaN(n.length)){var t=-1,r=function e(){while(++t=0;--n){var i=this.tryEntries[n];var a=i.completion;if(i.tryLoc==="root"){return e("end")}if(i.tryLoc<=this.prev){var o=s.call(i,"catchLoc");var u=s.call(i,"finallyLoc");if(o&&u){if(this.prev=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e){this.complete(t.completion,t.afterLoc);F(t);return v}}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var r=t.completion;if(r.type==="throw"){var i=r.arg;F(t)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,t){this.delegate={iterator:q(e),resultName:n,nextLoc:t};if(this.method==="next"){this.arg=c}return v}};return a}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}});var De=n;function c(e,n,t,r,i,a,o){try{var u=e[a](o);var c=u.value}catch(e){t(e);return}if(u.done){n(c)}else{Promise.resolve(c).then(r,i)}}function t(u){return function(){var e=this,o=arguments;return new Promise(function(n,t){var r=u.apply(e,o);function i(e){c(r,n,t,i,a,"next",e)}function a(e){c(r,n,t,i,a,"throw",e)}i(undefined)})}}var Ye=t;function r(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n1&&arguments[1]!==g?arguments[1]:1;return e[e.length-n]}function o(e){if(typeof e==="string"){var n=/([-\\^$[\]()+{}?*.|])/g;return e.replace(n,"\\$1")}}function u(e){var i=n();e=e.replace(/\n\r|\r/g,"\n");var a=0;var o=0;var u=[];var c=[];var s=0;e.split(h).filter(Boolean).forEach(function(e){if(e.match(h)){s=0;if(c.length){var n=p(c);if(n.token.match(/\n/)){var t=n.token.split("\n").pop();s+=t.length}else{s+=n.token.length}s+=n.col}var r={col:s,line:o,token:e,offset:a};u.push(r);c.push(r);a+=e.length;s+=e.length;o+=(e.match("\n")||[]).length;return}e.split(i).filter(Boolean).forEach(function(e){var n={col:s,line:o,token:e,offset:a};s+=e.length;a+=e.length;u.push(n);c.push(n);if(e==="\n"){++o;c=[];s=0}})});return u}function w(e,n){if(n){return u(e)}else{return u(e).map(function(e){return e.token.trim()}).filter(function(e){return e&&!e.match(/^;/)})}}var y={"'":new M("quote"),"`":new M("quasiquote"),",@":new M("unquote-splicing"),",":new M("unquote")};function s(e){if(typeof e==="string"){e=w(e)}var a=[];var o=[];var u=null;var c=Object.keys(y);var s=c.map(function(e){return y[e].name});var f=0;var l=false;var h=[];var p=[];var d=0;function v(){var e=a[a.length-1];if(e instanceof Array&&e[0]instanceof M&&s.includes(e[0].name)&&a.length>1&&!e[0].literal){a.pop();if(a[a.length-1].length===1&&a[a.length-1][0]instanceof M){a[a.length-1].push(e)}else if(a[a.length-1]instanceof B){if(a[a.length-1].cdr instanceof B){a[a.length-1]=new B(a[a.length-1],B.fromArray(e))}else{a[a.length-1].cdr=B.fromArray(e)}}else{a[a.length-1].push(e)}}}e.forEach(function(e){var n=a[a.length-1];if(c.indexOf(e)!==-1){d++;u=e;a.push([y[u]]);if(!u){p=[]}p.push(u)}else{if(u){h.push(p);p=[]}if(e==="("){l=true;f++;a.push([]);u=null;d=0}else if(e==="."&&!l){a[a.length-1]=B.fromArray(n)}else if(e===")"){f--;if(!a.length){throw new Error("Unbalanced parenthesis")}if(a.length===1){o.push(a.pop())}else if(a.length>1){var t=a.pop();n=a[a.length-1];if(n instanceof Array){n.push(t)}else if(n instanceof B){n.append(B.fromArray(t))}if(h.length){p=h.pop();while(p.length){v();p.pop()}}else{v()}}if(f===0&&a.length){o.push(a.pop())}}else{l=false;var r=m(e);if(u){while(d--){a[a.length-1].push(r);r=a.pop()}h.pop();d=0;u=false}else if(r instanceof M&&s.includes(r.name)){r.literal=true}n=a[a.length-1];if(n instanceof B){var i=n;while(true){if(i.cdr===C){if(r instanceof Array){i.cdr=B.fromArray(r)}else{i.cdr=r}break}else{i=i.cdr}}}else if(!a.length){o.push(r)}else{n.push(r)}}}});if(!e.filter(function(e){return e.match(/^[()]$/)}).length&&a.length){o=o.concat(a);a=[]}if(a.length){throw new Error("Unbalanced parenthesis 2")}return o.map(function(e){if(e instanceof Array){return B.fromArray(e)}return e})}function d(e){var n=arguments.length>1&&arguments[1]!==g?arguments[1]:function(e){return e};var t=arguments.length>2&&arguments[2]!==g?arguments[2]:null;if(V(e)){var r=e.then(n);if(t===null){return r}else{return r["catch"](t)}}return n(e)}function c(e,n){if(n instanceof RegExp){return function(e){return String(e).match(n)}}else if(typeof n!=="function"){throw new Error("".concat(e," argument need to be a function or RegExp"))}else{return n}}function _(e,n,t){if(n){if(t){e.__doc__=n}else{e.__doc__=x(n)}}return e}function x(e){return e.split("\n").map(function(e){return e.trim()}).join("\n")}function k(e){var n=arguments.length>1&&arguments[1]!==g?arguments[1]:1;var t=e.length;if(n<=0){throw Error("previousSexp: Invlaid argument sexp = ".concat(n))}e:while(n--&&t>=0){var r=1;while(r>0){var i=e[--t];if(!i){break e}if(i==="("||i.token==="("){r--}else if(i===")"||i.token===")"){r++}}t--}return e.slice(t+1)}function v(e){if(!e||!e.length){return 0}var n=e.length;if(e[n-1].token==="\n"){return 0}while(--n){if(e[n].token==="\n"){var t=(e[n+1]||{}).token;if(t){return t.length}}}return 0}function j(e,n){return s(e,n)===n.length;function s(e,n){function t(){return i>0&&o>0&&e[i-1]===n[o-1]&&e[i+1]===n[o]}function r(){return e[i]===Symbol["for"]("symbol")&&!f(n[o])}var i=0;var a={};for(var o=0;o0){continue}}else if(r()){return-1}}else if(e[i]instanceof Array){var c=s(e[i],n.slice(o));if(c===-1||c+o>n.length){return-1}o+=c-1;i++;continue}else{return-1}i++}if(e.length!==i){return-1}return n.length}}function S(e){this._code=e.replace(/\r/g,"")}S.defaults={offset:0,indent:2,specials:[/^define/,"lambda","let","let*"]};S.match=j;S.prototype._options=function e(n){var t=S.defaults;if(typeof n==="undefined"){return Object.assign({},t)}var r=n&&n.specials||[];return Object.assign({},t,n,{specials:t.specials.concat(r)})};S.prototype.indent=function e(n){var t=w(this._code,true);return this._indent(t,n)};S.matchSpecial=function(e,n){var t=n.specials;if(t.indexOf(e)!==-1){return true}else{var r=t.filter(function(e){return e instanceof RegExp});var i=true;var a=false;var o=g;try{for(var u=r[Symbol.iterator](),c;!(i=(c=u.next()).done);i=true){var s=c.value;if(e.match(s)){return true}}}catch(e){a=true;o=e}finally{try{if(!i&&u["return"]!=null){u["return"]()}}finally{if(a){throw o}}}}return false};S.prototype._indent=function e(n,t){var r=this._options(t);var i=v(n);var a=k(n);if(a&&a.length){if(a[0].line>0){r.offset=0}if(a.length===n.length){return r.offset+a[0].col}else if(a.length===1){return r.offset+a[0].col+1}else if(S.matchSpecial(a[1].token,r)){return r.offset+a[0].col+r.indent}else if(a[0].line3&&a[1].line===a[3].line){if(a[1].token==="("){return r.offset+a[1].col}return r.offset+a[3].col}else if(a[0].line===a[1].line){return r.offset+r.indent+a[0].col}else{var o=a.slice(2);for(var u=0;u"}else if(typeof e==="string"){return JSON.stringify(e).replace(/\\n/g,"\n")}else if(V(e)){return"<#Promise>"}else if(e instanceof M||e instanceof ge||e instanceof RegExp||e instanceof B||e===C){return e.toString()}else if(e instanceof Array){return e.map(J)}else if(Qe(e)==="object"){if(e===null){return"null"}var n=e.constructor.name;if(n==="Object"){return JSON.stringify(e)}return"<#object("+e.constructor.name+")>"}else if(typeof e!=="undefined"){return e}}B.prototype.markCycles=function(){$(this);return this};B.prototype.haveCycles=function(){var e=arguments.length>0&&arguments[0]!==g?arguments[0]:null;if(!e){return this.haveCycles("car")||this.haveCycles("cdr")}return!!(this.cycles&&this.cycles[e])};function $(e){var i=[];var n=[];function a(e){if(e instanceof B){if(i.includes(e)){if(!n.includes(e)){n.push(e)}return"#".concat(n.length-1,"#")}}}function o(e){if(e instanceof B){i.push(e);var n={};var t=a(e.car);var r=a(e.cdr);if(t){n["car"]=t}else{o(e.car)}if(r){n["cdr"]=r}else{o(e.cdr)}if(t||r){e.cycles=n}else if(e.cycles){delete e.cycles}}}o(e)}B.prototype.toString=function(){var e=["("];if(this.car!==g){var n;if(this.cycles&&this.cycles.car){n=this.cycles.car}else{n=J(this.car)}if(n!==g){e.push(n)}if(this.cdr instanceof B){if(this.cycles&&this.cycles.cdr){e.push(" . ");e.push(this.cycles.cdr)}else{var t;if(this.cycles&&this.cycles.cdr){t=this.cycles.cdr}var r=this.cdr.toString(t).replace(/^\(|\)$/g,"");e.push(" ");e.push(r)}}else if(typeof this.cdr!=="undefined"&&this.cdr!==C){e=e.concat([" . ",J(this.cdr)])}}e.push(")");return e.join("")};B.prototype.set=function(e,n){this[e]=n;if(n instanceof B){this.markCycles()}};B.prototype.append=function(e){if(e instanceof Array){return this.append(B.fromArray(e))}var n=this;if(n.car===g){if(e instanceof B){this.car=e.car;this.cdr=e.cdr}else{this.car=e}}else if(e!==C){while(true){if(n instanceof B&&n.cdr!==C){n=n.cdr}else{break}}n.cdr=e}return this};function D(e,n){if(e instanceof ge&&n instanceof ge){return e.cmp(n)===0}else if(typeof e==="number"||typeof n==="number"){return ge(e).cmp(ge(n))}else if(e instanceof M&&n instanceof M){return e.name===n.name}else{return e===n}}function Y(e){return e instanceof B&&e.isEmptyList()||e===C}function G(e,n,t){if(typeof this!=="undefined"&&this.constructor!==G||typeof this==="undefined"){return new G(e,n)}Fe("Macro",e,"string",1);Fe("Macro",n,"function",2);if(t){this.__doc__=x(t)}this.name=e;this.fn=n}G.defmacro=function(e,n,t){var r=new G(e,n,t);r.defmacro=true;return r};G.prototype.invoke=function(e,n,t){var r=n.env,i=n.dynamic_scope,a=n.error;var o={dynamic_scope:i,error:a,macro_expand:t};var u=this.fn.call(r,e,o,this.name);return t?_e(u):u};G.prototype.toString=function(){return"#"};var U="define-macro";function Q(a){return function(){var t=Ye(De.mark(function e(t,c){var s,f,r,i;return De.wrap(function e(n){while(1){switch(n.prev=n.next){case 0:r=function e(){r=Ye(De.mark(function e(t){var r,i,a,o,u;return De.wrap(function e(n){while(1){switch(n.prev=n.next){case 0:if(!(t instanceof B&&t.car instanceof M)){n.next=13;break}n.prev=1;r=s.get(t.car);if(!(r instanceof G&&r.defmacro)){n.next=9;break}n.next=6;return r.invoke(t.cdr,c,true);case 6:i=n.sent;if(!(i instanceof B)){n.next=9;break}return n.abrupt("return",i);case 9:n.next=13;break;case 11:n.prev=11;n.t0=n["catch"](1);case 13:a=t.car;if(!(a instanceof B)){n.next=18;break}n.next=17;return f(a);case 17:a=n.sent;case 18:o=t.cdr;if(!(o instanceof B)){n.next=23;break}n.next=22;return f(o);case 22:o=n.sent;case 23:u=new B(a,o);return n.abrupt("return",u);case 25:case"end":return n.stop()}}},e,null,[[1,11]])}));return r.apply(this,arguments)};f=function e(n){return r.apply(this,arguments)};s=c["env"]=this;i=t;if(!a){n.next=12;break}n.t0=_e;n.next=8;return f(t);case 8:n.t1=n.sent.car;return n.abrupt("return",(0,n.t0)(n.t1));case 12:n.next=15;return f(t);case 15:i=n.sent;if(!(t.toString()===i.toString())){n.next=18;break}return n.abrupt("break",21);case 18:t=i;n.next=12;break;case 21:return n.abrupt("return",_e(i.car));case 22:case"end":return n.stop()}}},e,this)}));return function(e,n){return t.apply(this,arguments)}}()}function z(e){return typeof e==="undefined"||e===C||e===null}function V(e){return e instanceof Promise||e&&typeof e!=="undefined"&&typeof e.then==="function"}function X(e,a){var o=function e(){for(var n=arguments.length,t=new Array(n),r=0;r2?n-2:0),r=2;r1?t-1:0),i=1;i1?n-1:0),r=1;rarray")(a.car);var f=s.inherit("let");var l=0;return function e(){var n=c[l++];function t(e){if(V(e)){return e.then(t)}else if(typeof e==="undefined"){f.set(n.car,C)}else{f.set(n.car,e)}}if(o){o=h?f:s}if(!n){var r=new B(new M("begin"),a.cdr);return Ie(r,{env:f,dynamic_scope:o,error:u})}else{var i=Ie(n.cdr.car,{env:h?f:s,dynamic_scope:o,error:u});return d(t(i),e)}}()})}function oe(e,c){return new G(e,function(e){var n=arguments.length>1&&arguments[1]!==g?arguments[1]:{},t=n.dynamic_scope,r=n.error;var i=this;if(t){t=this}var a=e;var o=[];while(a instanceof B&&!Y(a)){o.push(Ie(a.car,{env:i,dynamic_scope:t,error:r}));a=a.cdr}var u=o.filter(V).length;if(u){return Promise.all(o).then(c.bind(this))}else{return c.call(this,o)}})}function ue(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r2?r-2:0),a=2;a1?e-1:0),t=1;t=o){return a.apply(this,r)}else{return i}}return i.apply(this,arguments)}}function me(r,i){Fe("limit",i,"function",2);return function(){for(var e=arguments.length,n=new Array(e),t=0;t1?t-1:0),i=1;i>":function e(n,t){return n>>t},"<<":function e(n,t){return n<>":"ishln"};e=i[e];return ge(this.value.clone()[e](n,r))}};var be={"+":"add","-":"sub","*":"mul","/":"div","%":"mod","|":"or","&":"and","~":"neg","<<":"shl",">>":"shr"};Object.keys(be).forEach(function(n){ge.prototype[be[n]]=function(e){return this.op(n,e)}});ge.prototype.sqrt=function(){var e;if(ge.isNative(this.value)){e=Math.sqrt(this.value)}else if(ge.isBN(this.value)){e=this.value.sqrt()}return new ge(e)};ge.prototype.pow=function(e){e=this.coerce(e);if(ge.isNative(this.value)){try{var n=new Function("a,b","return a**b;");e.value=n(this.value,e.value)}catch(e){throw new Error("Power operator not supported")}}else if(ge.isBN(this.value)){e.value=this.value.pow(e.value)}else{e.value=Math.pow(this.value,e.value)}return e};ge.prototype.neg=function(){var e=this.value;if(ge.isNative(e)){e=-e}else if(ge.isBN(e)){e=e.neg()}return new ge(e)};ge.prototype.abs=function(){var e=this.value;if(ge.isNative(this.value)){if(e<0){e=-e}}else if(ge.isBN(e)){e.iabs()}return new ge(e)};ge.prototype.isOdd=function(){if(ge.isNative(this.value)){if(this.isBigNumber()){return this.value%BigInt(2)===BigInt(1)}return this.value%2===1}else if(ge.isBN(this.value)){return this.value.isOdd()}};ge.prototype.isEven=function(){return!this.isOdd()};ge.prototype.cmp=function(e){e=this.coerce(e);if(ge.isNative(this.value)){if(this.value1&&arguments[1]!==g?arguments[1]:{};if(Qe(e)==="object"){n=e}if(!e||Qe(e)==="object"){e="child of "+(this.name||"unknown")}return new we(n||{},this,e)};we.prototype.get=function(e){var n=arguments.length>1&&arguments[1]!==g?arguments[1]:{};var t=n.weak,r=n.context,i=r===void 0?this:r,a=n.throwError,o=a===void 0?true:a;var u;var c=false;if(e instanceof M){if(e.name in this.env){u=this.env[e.name];c=true}}else if(typeof e==="string"){if(typeof this.env[e]!=="undefined"){u=this.env[e];c=true}}if(c){if(ge.isNumber(u)){return ge(u)}if(u instanceof B){return u.markCycles()}if(typeof u==="function"){if(te(u)){if(t){return X(u,i)}return ne(u,i)}}return u}if(this.parent instanceof we){return this.parent.get(e,{weak:t,context:i,throwError:o})}else{var s;if(e instanceof M){s=e.name}else if(typeof e==="string"){s=e}if(s){var f=Qe(l[s]);if(f==="function"){if(ie(l[s])){return ne(l[s],l)}return l[s]}else if(f!=="undefined"){return l[s]}}}if(o){s=(s.name||s).toString();throw new Error("Unbound variable `"+s+"'")}};we.prototype.set=function(e,n){if(ge.isNumber(n)){n=ge(n)}if(e instanceof M){e=e.name}this.env[e]=n};we.prototype.has=function(e){return typeof this.env[e]!=="undefined"};we.prototype.ref=function(e){var n=this;while(true){if(!n){break}if(n.has(e)){return n}n=n.parent}};we.prototype.parents=function(){var e=this;var n=[];while(e){n.unshift(e);e=e.parent}return n};function _e(e){if(V(e)){return e.then(_e)}if(e instanceof B||e instanceof M){e.data=true}return e}var xe=function(){var n=0;return function(){var e=arguments.length>0&&arguments[0]!==g?arguments[0]:null;if(e!==null){return new M(Symbol("#:".concat(e)))}n++;return new M(Symbol("#:g".concat(n)))}}();var ke=new we({nil:C,undefined:g,true:true,false:false,NaN:NaN,stdout:{write:function e(){var n;(n=console).log.apply(n,arguments)}},stdin:{read:function e(){return new Promise(function(e){e(prompt(""))})}},help:_(new G("help",function(e,n){var t=n.dynamic_scope,r=n.error;var i;if(e.car instanceof M){i=e.car}else if(e.car instanceof B&&e.car.car instanceof M){i=e.car.car}else{var a=this;if(t){t=this}var o=Ie(e.car,{env:a,error:r,dynamic_scope:t});if(o&&o.__doc__){return o.__doc__}}return this.get(i).__doc__}),"(help object)\n\n Macro returns documentation for function or macros including parser\n macros but only if called with parser macro symbol like (help `).\n For normal functions and macros you can save the function in variable."),cons:_(function(e,n){if(Y(n)){n=C}return new B(e,n)},"(cons left right)\n\n Function return new Pair out of two arguments."),car:_(function(e){if(e===C){return C}Fe("car",e,"pair");if(Y(e)){return C}return e.car},"(car pair)\n\n Function returns car (head) of the list/pair."),cdr:_(function(e){if(e===C){return C}Fe("cdr",e,"pair");if(Y(e)){return C}return e.cdr},"(cdr pair)\n\n Function returns cdr (tail) of the list/pair."),"set!":_(new G("set!",function(n){var e=arguments.length>1&&arguments[1]!==g?arguments[1]:{},t=e.dynamic_scope,r=e.error;if(t){t=this}var i=Ie(n.cdr.car,{env:this,dynamic_scope:t,error:r});i=Ne(i);var a;function o(n,t){if(V(n)){return n.then(function(e){return o(e,t)})}if(V(t)){return t.then(function(e){return o(n,e)})}s[n]=t;return t}if(n.car instanceof B&&M.is(n.car.car,".")){var u=n.car.cdr.car;var c=n.car.cdr.cdr.car;var s=Ie(u,{env:this,dynamic_scope:t,error:r});var f=Ie(c,{env:this,dynamic_scope:t,error:r});return o(f,i)}if(!(n.car instanceof M)){throw new Error("set! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}a=this.ref(n.car.name);if(!a){a=this}return d(i,function(e){a.set(n.car,e)})}),"(set! name value)\n\n Macro that can be used to set the value of the variable (mutate)\n it search the scope chain until it finds first non emtpy slot and set it."),"set-car!":_(function(e,n){Fe("set-car!",e,"pair");e.car=n},"(set-car! obj value)\n\n Function that set car (head) of the list/pair to specified value.\n It can destroy the list. Old value is lost."),"set-cdr!":_(function(e,n){Fe("set-cdr!",e,"pair");e.cdr=n},"(set-cdr! obj value)\n\n Function that set cdr (tail) of the list/pair to specified value.\n It can destroy the list. Old value is lost."),"empty?":_(function(e){return typeof e==="undefined"||Y(e)},"(empty? object)\n\n Function return true if value is undfined empty list."),assoc:_(function(e,n){if(e instanceof B&&!(n instanceof B)){throw new Error("First argument to assoc ned to be a key")}Fe("assoc",n,"pair");var t=n;while(true){if(!(t instanceof B)||this.get("empty?")(t)){break}var r=t.car.car;if(D(r,e)){return t.car}else if(!t.haveCycles("cdr")){t=t.cdr}}return C},"(assoc key alist)\n\n Function search Alist (list of pairs) until it find the one that\n have head set equal to key, and return found pair."),gensym:_(xe,"(gensym)\n\n Function generate unique symbol, to use with macros as meta name."),"require.resolve":_(function(e){var n=require.resolve(e);return n},"(require.resolve path)\n\n Return path relative the current module."),require:_(function(e){return require(e)},"(require module)\n\n Function to be used inside Node.js to import the module."),load:_(function(e){Fe("load",e,"string");var i=this;if(i.name==="__frame__"){i=i.parent}if(typeof this.get("global",{throwError:false})!=="undefined"){return new Promise(function(t,r){require("fs").readFile(e,function(e,n){if(e){r(e)}else{Pe(n.toString(),i).then(function(){t()})}})})}return l.fetch(e).then(function(e){return e.text()}).then(function(e){return Pe(e,i)}).then(function(){})},"(load filename)\n\n Function fetch the file and evaluate its content as LIPS code."),while:_(new G("while",function(r,e){var i=e.dynamic_scope,a=e.error;var o=this;var u=new B(new M("begin"),r.cdr);var c;if(i){i=o}return function n(){var e=Ie(r.car,{env:o,dynamic_scope:i,error:a});function t(e){if(e&&!z(e)&&!Y(e)){c=Ie(u,{env:o,dynamic_scope:i,error:a});if(V(c)){return c.then(function(e){c=e;return n()})}else{return n()}}else{return c}}return d(e,t)}()}),"(while cond . body)\n\n Macro that create a loop, it exectue body untill cond expression is false"),if:_(new G("if",function(t,e){var r=e.dynamic_scope,i=e.error;if(r){r=this}var a=this;var n=function e(n){Fe("if",n,"boolean");if(n){return Ie(t.cdr.car,{env:a,dynamic_scope:r,error:i})}else{return Ie(t.cdr.cdr.car,{env:a,dynamic_scope:r,error:i})}};var o=Ie(t.car,{env:a,dynamic_scope:r,error:i});return d(o,n)}),"(if cond true-expr false-expr)\n\n Macro evaluate condition expression and if the value is true, it\n evaluate and return true expression if not it evaluate and return\n false expression"),"let*":_(ae(true),"(let* ((a value-a) (b value-b)) body)\n\n Macro that creates new environment, then evaluate and assign values to\n names and then evaluate the body in context of that environment.\n Values are evaluated sequentialy and next value can access to\n previous values/names."),let:_(ae(false),"(let ((a value-a) (b value-b)) body)\n\n Macro that creates new environment, then evaluate and assign values to\n names and then evaluate the body in context of that environment.\n Values are evaluated sequentialy but you can't access\n previous values/names when next are evaluated. You can only get them\n from body of let expression."),"begin*":_(oe("begin*",function(e){return e.pop()}),"(begin* . expr)\n\n This macro is parallel version of begin. It evaluate each expression and\n if it's a promise it will evaluate it in parallel and return value\n of last expression."),begin:_(new G("begin",function(e,n){var r=Object.assign({},n);var i=this.get("list->array")(e);if(r.dynamic_scope){r.dynamic_scope=this}r.env=this;var a;return function n(){if(i.length){var e=i.shift();var t=Ie(e,r);return d(t,function(e){a=e;return n()})}else{return a}}()}),"(begin . args)\n\n Macro runs list of expression and return valuate of the list one.\n It can be used in place where you can only have single exression,\n like if expression."),ignore:new G("ignore",function(e,n){var t=n.dynamic_scope,r=n.error;var i={env:this,error:r};if(t){i.dynamic_scope=this}Ie(new B(new M("begin"),e),i)},"(ignore expression)\n\n Macro that will evaluate expression and swallow any promises that may\n be created. It wil run and ignore any value that may be returned by\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."),define:_(G.defmacro("define",function(n,e){var t=this;if(n.car instanceof B&&n.car.car instanceof M){var r=new B(new M("define"),new B(n.car.car,new B(new B(new M("lambda"),new B(n.car.cdr,n.cdr)))));return r}else if(e.macro_expand){return}if(e.dynamic_scope){e.dynamic_scope=this}e.env=t;var i=n.cdr.car;if(i instanceof B){i=Ie(i,e)}else if(i instanceof M){i=t.get(i)}if(n.car instanceof M){d(i,function(e){t.set(n.car,e)})}}),"(define name expression)\n (define (function-name . args) body)\n\n Macro for defining values. It can be used to define variables,\n or function. If first argument is list it will create function\n with name beeing first element of the list. The macro evalute\n code `(define function (lambda args body))`"),"set-obj!":_(function(e,n,t){var r=Qe(e);if(z(e)||r!=="object"&&r!=="function"){var i=Ee("set-obj!",qe(e),["object","function"]);throw new Error(i)}K(e)[n]=t},"(set-obj! obj key value)\n\n Function set property of JavaScript object"),"current-environment":_(function(){return this},"(current-environment)\n\n Function return current environement."),eval:_(function(e,t){var r=this;Fe("eval",e,["symbol","pair","array"]);t=t||this;if(e instanceof M){return t.get(e)}if(e instanceof B){return Ie(e,{env:t,error:function e(n){r.get("error")(n.message);if(n.code){var t=n.code.map(function(e,n){return"[".concat(n+1,"]: ").concat(e)}).join("\n");r.get("error")(t)}}})}if(e instanceof Array){var i=this.get("eval");return e.reduce(function(e,n){return i(n,t)})}},"(eval list)\n\n Function evalute LIPS code as list structure."),lambda:new G("lambda",function(f){var e=arguments.length>1&&arguments[1]!==g?arguments[1]:{},l=e.dynamic_scope,h=e.error;var p=this;var d;if(f.cdr instanceof B&&typeof f.cdr.car==="string"&&f.cdr.cdr!==C){d=x(f.cdr.car)}function v(){var e;if(l){if(!(this instanceof we)){e=p}else{e=this}}else{e=p}e=e.inherit("lambda");var n=f.car;var t=0;var r;if(typeof this!=="undefined"){e.set("this",this)}for(var i=arguments.length,a=new Array(i),o=0;o2&&arguments[2]!==g?arguments[2]:u;if(e instanceof B&&!Y(e)){var r=e.car;var i=e.cdr;if(t(r)){r=n(r)}if(t(i)){i=n(i)}if(V(r)||V(i)){return Promise.all([r,i]).then(function(e){var n=Ue(e,2),t=n[0],r=n[1];return new B(t,r)})}else{return new B(r,i)}}return e}function s(e,n){if(e instanceof B){if(Y(e)&&n===C){return C}e.append(n)}else{e=new B(e,n)}return e}function f(r,e,n){if(er){throw new Error("You can't call `unquote` outside "+"of quasiquote")}if(t.cdr instanceof B){if(t.cdr.cdr!==C){if(t.cdr.car instanceof B){return d(h(t.cdr.cdr,n,r),function(e){var n=Ie(t.cdr.car,{env:o,dynamic_scope:i,error:a});return new B(n,e)})}else{return t.cdr}}else{return Ie(t.cdr.car,{env:o,dynamic_scope:i,error:a})}}else{return t.cdr}}return c(t,function(e){return h(e,n,r)})}return t}function t(e){if(e instanceof B){delete e.data;if(!e.haveCycles("car")){t(e.car)}if(!e.haveCycles("cdr")){t(e.cdr)}}}var r=h(e.car,0,1);return d(r,function(e){t(e);return _e(e)})},"(quasiquote list ,value ,@value)\n\n Similar macro to `quote` but inside it you can use special\n expressions unquote abbreviated to , that will evaluate expresion inside\n and return its value or unquote-splicing abbreviated to ,@ that will\n evaluate expression but return value without parenthesis (it will join)\n the list with its value. Best used with macros but it can be used outside"),clone:_(function(e){Fe("clone",e,"pair");return e.clone()},"(clone list)\n\n Function return clone of the list."),append:_(function(e,n){Fe("append",e,"pair");return this.get("append!")(e.clone(),n)},"(append list item)\n\n Function will create new list with value appended to the end. It return\n New list."),"append!":_(function(e,n){Fe("append!",e,"pair");if(z(n)||Y(n)){return e}return e.append(n)},"(append! name expression)\n\n Destructive version of append, it modify the list in place. It return\n original list."),reverse:_(function(e){Fe("reverse",e,["array","pair"]);if(e instanceof B){var n=this.get("list->array")(e).reverse();return this.get("array->list")(n)}else if(!(e instanceof Array)){throw new Error(Ee("reverse",qe(e),"array or pair"))}else{return e.reverse()}},"(reverse list)\n\n Function will reverse the list or array. If value is not a list\n or array it will throw exception."),nth:_(function(e,n){Fe("nth",e,"number");Fe("nth",n,["array","pair"]);if(n instanceof B){var t=n;var r=0;while(rarray")(n).join(e)},"(join separator list)\n\n Function return string by joining elements of the list"),split:_(function(e,n){Fe("split",e,["regex","string"]);Fe("split",n,"string");return this.get("array->list")(n.split(e))},"(split separator string)\n\n Function create list by splitting string by separatar that can\n be a string or regular expression."),replace:_(function(e,n,t){Fe("replace",e,["regex","string"]);Fe("replace",n,["string","function"]);Fe("replace",t,"string");return t.replace(e,n)},"(replace pattern replacement string)\n\n Function change pattern to replacement inside string. Pattern can be string\n or regex and replacement can be function or string."),match:_(function(e,n){Fe("match",e,["regex","string"]);Fe("match",n,"string");var t=n.match(e);return t?this.get("array->list")(t):C},"(match pattern string)\n\n function return match object from JavaScript as list."),search:_(function(e,n){Fe("search",e,["regex","string"]);Fe("search",n,"string");return n.search(e)},"(search pattern string)\n\n Function return first found index of the pattern inside a string"),string:_(function n(e,t){if(typeof jQuery!=="undefined"&&e instanceof jQuery.fn.init){return"<#jQuery("+e.length+")>"}if(e instanceof ge){return e.value.toString()}if(typeof e==="undefined"){return"<#undefined>"}if(typeof e==="function"){if(ie(e)){return"<#function(native)>"}return"<#function>"}if(e instanceof RegExp){return e.toString()}if(e===C){return"nil"}if(e instanceof Array){return"["+e.map(function(e){return n(e,true)}).join(", ")+"]"}if(e===null||typeof e==="string"&&t){return JSON.stringify(e).replace(/\\n/g,"\n")}if(e instanceof B){return e.toString()}if(e instanceof M){return e.toString()}if(l.HTMLElement&&e instanceof l.HTMLElement){return"<#HTMLElement(".concat(e.tagName.toLowerCase(),")>")}if(Qe(e)==="object"){var r=e.constructor;var i;if(typeof r.__className==="string"){i=r.__className}else if(qe(e)==="instance"){i="instance"}else{i=r.name}if(i!==""){return"<#"+i+">"}return"<#Object>"}if(typeof e!=="string"){return e.toString()}return e},"(string obj)\n\n Function return string LIPS representation of an object as string."),env:_(function(e){e=e||this;var n=Object.keys(e.env);var t;if(n.length){t=B.fromArray(n)}else{t=C}if(e.parent!==g){return this.get("env").call(this,e.parent).append(t)}return t},"(env obj)\n\n Function return list values (functions and variables) inside environment."),new:_(function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;rlist":_(function(e){Fe("array->list",e,"array");return B.fromArray(e)},"(array->list array)\n\n Function convert JavaScript array to LIPS list."),"tree->array":_(H("tree->array",true),"(tree->array list)\n\n Function convert LIPS list structure into JavaScript array."),"list->array":_(H("list->array"),"(list->array list)\n\n Function convert LIPS list into JavaScript array."),apply:_(function(e,n){Fe("call",e,"function",1);Fe("call",n,"pair",2);return e.apply(void 0,Ge(this.get("list->array")(n)))},"(apply fn list)\n\n Function that call function with list of arguments."),length:_(function(e){if(!e){return ge(0)}if(e instanceof B){return ge(e.length())}if("length"in e){return ge(e.length)}},"(length expression)\n\n Function return length of the object, the object can be list\n or any object that have length property."),try:_(new G("try",function(a,e){var o=this;var u=e.dynamic_scope,c=e.error;return new Promise(function(i){var e={env:o,error:function e(n){var t=o.inherit("try");t.set(a.cdr.car.cdr.car.car,n);var r={env:t,error:c};if(u){r.dynamic_scope=o}d(Ie(new B(new M("begin"),a.cdr.car.cdr.cdr),r),function(e){i(e)})}};if(u){e.dynamic_scope=o}var n=Ie(a.car,e);if(V(n)){n["catch"](e.error).then(i)}else{i(n)}})}),"(try expr (catch (e) code)"),find:_(function n(t,r){Fe("find",t,["regex","function"]);Fe("find",r,"pair");if(z(r)){return C}var e=c("find",t);return d(e(r.car),function(e){if(e&&e!==C){return r.car}return n(t,r.cdr)})},"(find fn list)\n (find regex list)\n\n Higher order Function find first value for which function return true.\n If called with regex it will create matcher function."),"for-each":_(function(e){var n;Fe("for-each",e,"function");for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?n-1:0),a=1;a3?r-3:0),a=3;a3?i-3:0),o=3;oarray")(n);var a=[];var o=c("filter",e);return function n(t){function e(e){if(e&&e!==C){a.push(r)}return n(++t)}if(t===i.length){return B.fromArray(a)}var r=i[t];return d(o(r,t),e)}(0)},"(filter fn list)\n (filter regex list)\n\n Higher order function that call `fn` for each element of the list\n and return list for only those elements for which funtion return\n true value. If called with regex it will create matcher function."),range:_(function(e){Fe("range",e,"number");if(e instanceof ge){e=e.valueOf()}return B.fromArray(new Array(e).fill(0).map(function(e,n){return ge(n)}))},"(range n)\n\n Function return list of n numbers from 0 to n - 1"),compose:_(se,"(compose . fns)\n\n Higher order function and create new function that apply all functions\n From right to left and return it's value. Reverse of compose.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 3)\n 11\n "),pipe:_(ce,"(pipe . fns)\n\n Higher order function and create new function that apply all functions\n From left to right and return it's value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 3)\n 15"),curry:_(ve,"(curry fn . args)\n\n Higher order function that create curried version of the function.\n The result function will have parially applied arguments and it\n will keep returning functions until all arguments are added\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"),odd:_(he(function(e){return ge(e).isOdd()}),"(odd number)\n Function check if number os odd."),even:_(he(function(e){return ge(e).isEvent()}),"(even number)\n\n Function check if number is even."),"*":_(de(function(e,n){return ge(e).mul(n)}),"(* . numbers)\n\n Multiplicate all numbers passed as arguments. If single value is passed\n it will return that value."),"+":_(de(function(e,n){return ge(e).add(n)}),"(+ . numbers)\n\n Sum all numbers passed as arguments. If single value is passed it will\n return that value."),"-":_(function(){for(var e=arguments.length,n=new Array(e),t=0;t":_(function(e,n){return ge(e).cmp(n)===1},"(> a b)\n\n Function compare two numbers and check if first argument is greater\n than the second one"),"<":_(function(e,n){return ge(e).cmp(n)===-1},"(< a b)\n\n Function compare two numbers and check if first argument is less\n than the second one"),"<=":_(function(e,n){return[0,-1].includes(ge(e).cmp(n))},"(<= a b)\n\n Function compare two numbers and check if first argument is less or\n equal to the second one"),">=":_(function(e,n){return[0,1].includes(ge(e).cmp(n))},"(>= a b)\n\n Function compare two numbers and check if first argument is less or\n equal to the second one"),"eq?":_(D,"(eq? a b)\n\n Function compare two values if they are identical."),or:_(new G("or",function(e,n){var i=n.dynamic_scope,a=n.error;var o=this.get("list->array")(e);var u=this;if(i){i=u}var c;return function n(){function e(e){c=e;if(c){return c}else{return n()}}var t=o.shift();if(typeof t==="undefined"){if(c){return c}else{return false}}else{var r=Ie(t,{env:u,dynamic_scope:i,error:a});return d(r,e)}}()}),"(or . expressions)\n\n Macro execute the values one by one and return the one that is truthy value.\n If there are no expression that evaluate to true it return false."),and:_(new G("and",function(e){var n=arguments.length>1&&arguments[1]!==g?arguments[1]:{},i=n.dynamic_scope,a=n.error;var o=this.get("list->array")(e);var u=this;if(i){i=u}if(!o.length){return true}var c;return function n(){function e(e){c=e;if(!c){return false}else{return n()}}var t=o.shift();if(typeof t==="undefined"){if(c){return c}else{return false}}else{var r=Ie(t,{env:u,dynamic_scope:i,error:a});return d(r,e)}}()}),"(and . expressions)\n\n Macro evalute each expression in sequence if any value return false it will\n return false. If each value return true it will return the last value.\n If it's called without arguments it will return true."),"|":_(function(e,n){return ge(e).or(n)},"(& a b)\n\n Function calculate or bit operation."),"&":_(function(e,n){return ge(e).and(n)},"(& a b)\n\n Function calculate and bit operation."),"~":_(function(e){return ge(e).neg()},"(~ number)\n\n Function negate the value."),">>":_(function(e,n){return ge(e).shr(n)},"(>> a b)\n\n Function right shit the value a by value b."),"<<":_(function(e,n){return ge(e).shl(n)},"(<< a b)\n\n Function left shit the value a by value b."),not:_(function(e){if(Y(e)){return true}return!e},"(not object)\n\n Function return negation of the argument."),"->":_(function(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),i=2;i obj name . args)\n\n Function get function from object and call it with arguments.")},g,"global");["floor","round","ceil"].forEach(function(n){ke.set(n,_(function(e){Fe(n,e,"number");if(e instanceof ge){return e[n]()}},"(".concat(n," number)\n\n Function calculate ").concat(n," of a number.")))});function je(e){if(e.length===1){return e[0]}else{var n=[];var t=je(e.slice(1));for(var r=0;r3&&arguments[3]!==g?arguments[3]:null;var i=e?" in function `".concat(e,"`"):"";if(r!==null){i+=" argument ".concat(r)}if(t instanceof Array){var a=t[t.length-1];t=t.slice(0,-1).join(", ")+" or "+a}return"Expecting ".concat(t," got ").concat(n).concat(i)}function Fe(e,n,t){var r=arguments.length>3&&arguments[3]!==g?arguments[3]:null;var i=qe(n);var a=false;if(t instanceof Array&&t.includes(i)){a=true}if(!a&&i!==t){throw new Error(Ee(e,i,t,r))}}function Ae(e){var n=Qe(e);return["string","function"].includes(n)||e instanceof ge||e instanceof RegExp}function qe(e){var n={pair:B,symbol:M,macro:G,array:Array,native_symbol:Symbol};if(e===C){return"nil"}if(e===null){return"null"}for(var t=0,r=Object.entries(n);t1&&arguments[1]!==g?arguments[1]:{},i=e.env,a=e.dynamic_scope,t=e.error,o=t===void 0?function(){}:t;try{if(a===true){i=a=i||ke}else if(i===true){i=a=ke}else{i=i||ke}var r={env:i,dynamic_scope:a,error:o};var u;if(z(n)){return n}if(Y(n)){return T()}if(n instanceof M){return i.get(n,{weak:true})}var c=n.car;var s=n.cdr;if(c instanceof B){u=Ne(Ie(c,r));if(V(u)){return u.then(function(e){return Ie(new B(e,n.cdr),r)})}else if(typeof u!=="function"){throw new Error(qe(u)+" "+i.get("string")(u)+" is not a function while evaluating "+n.toString())}}if(c instanceof M){u=i.get(c,{weak:true});if(u instanceof G){var f=Le(u,s,r);return d(f,function(e){if(e instanceof B){return e.markCycles()}return e})}else if(typeof u!=="function"){if(u){var l="".concat(qe(u)," `").concat(u,"' is not a function");throw new Error(l)}throw new Error("Unknown function `".concat(c.name,"'"))}}else if(typeof c==="function"){u=c}if(typeof u==="function"){var h=Oe(s,r);return d(h,function(e){var t=(a||i).inherit("__frame__");t.set("parent.frame",function(){var e=arguments.length>0&&arguments[0]!==g?arguments[0]:1;if(e===0){return t}if(!(t.parent instanceof we)){return C}var n=t.parent.get("parent.frame",{throwError:false});if(typeof n==="function"){return n(e-1)}return C});var n=e.slice();n.callee=u;t.set("arguments",n);var r=Ne(u.apply(t,e));return d(r,function(e){if(e instanceof B){return _e(e.markCycles())}return e},o)})}else if(n instanceof M){u=i.get(n);if(u==="undefined"){throw new Error("Unbound variable `"+n.name+"'")}return u}else if(n instanceof B){u=c&&c.toString();throw new Error("".concat(qe(c)," ").concat(u," is not a function"))}else{return n}}catch(e){o&&o(e,n)}}function Pe(e,n,t){return Me.apply(this,arguments)}function Me(){Me=Ye(De.mark(function e(t,r,i){var a,o,u,c;return De.wrap(function e(n){while(1){switch(n.prev=n.next){case 0:if(i===true){r=i=r||ke}else if(r===true){r=i=ke}else{r=r||ke}a=s(t);o=[];case 3:u=a.shift();if(u){n.next=9;break}return n.abrupt("return",o);case 9:n.next=11;return Ie(u,{env:r,dynamic_scope:i,error:function e(n,t){if(t){if(!(n.code instanceof Array)){n.code=[]}n.code.push(t.toString())}throw n}});case 11:c=n.sent;o.push(c);case 13:n.next=3;break;case 15:case"end":return n.stop()}}},e)}));return Me.apply(this,arguments)}function Re(n){return function(e){if(!e){return false}return(e.token||e).match(n)}}var Ce=Re(/[()]/);function Be(e){var n=typeof e==="string"?w(e):e;var t=n.filter(Ce);var r=t.filter(function(e){return(e.token||e)===")"});var i=t.filter(function(e){return(e.token||e)==="("});return r.length===i.length}B.unDry=function(e){return new B(e.car,e.cdr)};B.prototype.toDry=function(){return{value:{car:this.car,cdr:this.cdr}}};R.prototype.toDry=function(){return{value:null}};R.unDry=function(){return C};M.prototype.toDry=function(){return{value:{name:this.name}}};M.unDry=function(e){return new M(e.name)};function Te(e){console.error(e.message||e);if(e.code){console.error(e.code.map(function(e,n){return"[".concat(n+1,"]: ").concat(e)}))}}function He(){var i="text/x-lips";if(window.document){var a=Array.from(document.querySelectorAll("script"));return function n(){var e=a.shift();if(e){var t=e.getAttribute("type");if(t===i){var r=e.getAttribute("src");if(r){return l.fetch(r).then(function(e){return e.text()}).then(Pe).then(n)["catch"](function(e){Te(e);n()})}else{return Pe(e.innerHTML).then(n)["catch"](function(e){Te(e);n()})}}else if(t&&t.match(/lips|lisp/)){console.warn("Expecting "+i+" found "+t)}return n()}}()}}if(typeof window!=="undefined"){e(window,He)}E.__className="Ahead";F.__className="Pattern";S.__className="Formatter";G.__className="Macro";we.__className="Environment";var Je={version:"0.20.0",exec:Pe,parse:s,tokenize:w,evaluate:Ie,Environment:we,global_environment:ke,globalEnvironment:ke,env:ke,balanced_parenthesis:Be,balancedParenthesis:Be,Macro:G,quote:_e,Pair:B,Formatter:S,specials:y,nil:C,resolvePromises:Ne,LSymbol:M,LNumber:ge};ke.set("lips",Je);return Je})})(); \ No newline at end of file diff --git a/docs.html b/docs.html deleted file mode 100644 index 9265c42c7..000000000 --- a/docs.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - LIPS - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - LIPS Logo: Scheme (lisp dialect) in JavaScript -

- Powerful Scheme lisp in JavaScript -

-
- -
- - - - -
-

NOTE: Documentation for Beta version can be found at - LIPS wiki.

-

Variables and functions

- -

-(define x 10)
-(define square (lambda (x) (* x x)))
-(define (square x) (* x x))
-    
- -

Lisp Macros

- -

-(define-macro (foo x) `(1 2 ,@(car x) 3 4))
-    
- -

BigInt

- -

lips have no problems in evaluating factorial of thousand, and it's fast.

- -

-(define (! n) (reduce * (map 1+ (range n))))
-
-(print (! 1000))
-    
- -

List operations

- -

-(cons 1 2)
-(cons 1 (cons 2 nil))
-(list 1 2 3 4)
-'(1 2 3 4)
-
-(let ((lst '(1 2 (3 4 5 6))))
-   (print (car lst))
-   (print (cadaddr lst)))
-    
- -

all functions that match this regex `c[ad]{1,5}r` are defined.

- -

ALists

- -

-(let ((l '((foo . "lorem") (bar "ipsum"))))
-   (set-cdr! (assoc l 'foo) "hello")
-   (set-cdr! (assoc l 'bar) "world")
-   (print l))
-    
- -

Flow constructs

- -

-(let ((x 5))
-    (while (> (-- x) 0) (print x)))
-    
- -

Operator == work as == in javascript but it should only be used on number or - values that can be converted to numbers like string "10".

-

To compare strings or any values use eq?

- -

-(if (== "10" 10)
-    (print "newer printed"))
-
-(if (eq? "foo" "bar")
-    (print "equal")
-    (print "not equal"))
-
-(let ((x 10))
-  (if (and (> x 1) (< x 20))
-      (begin
-         (print "this is x > 1")
-         (print "and x < 20"))))
-    
- -

Eval

- -

-(eval (read "(print \"hello\")"))
-    
- -

Apply

- -

Apply function the same as the one from javascript invoke a function with arguments taken from list

- -

-(let ((strings '("foo" "bar" "baz")))
-   (print (apply concat strings)))
-    
- -

Async code

- -

-(eval (read))
-    
- -

- then type S-Expression like (print 10). If function return Promise - the execution is paused and restored when Promise is resolved -

- - -

Access JavaScript functions and objects

- -

-((. window "alert") "hello")
-((. console "log") "hello")
-    
- -

- If object is not found in environment, then window object is tested for - presense of the element. -

- -

You can execute jQuery functions

- -

-(let* ((term ($ ".terminal")))
-  ((.  term "css") "background" "red"))
-    
- -

function $ is available because it's in window object.

- -

or operate on strings

- -

-((. "foo bar baz" "replace") /^[a-z]+/g "baz")
-
-(let ((match (. "foo bar baz" "match")))
-    (array->list (match /([a-z]+)/g)))
-    
- -

String operations

- -

-;; todo
-    
- -

Mapping, filtering and reducing

- -

-(map car (list
-            (cons "a" 2)
-            (cons "b" 3)))
-
-(filter odd (list 1 2 3 4 5))
-
-(filter (lambda (x)
-          (== (% x 2) 0))
-    (list 1 2 3 4 5))
-
-(define (reverse list)
-    (reduce (lambda (list x) (cons x list)) list nil))
-
-(reverse '(1 2 3 4))
-
-(define (sum . list) (reduce (lambda (a b) (+ a b)) list))
-;; or
-(define (sum . list) (reduce + list))
-
-(print (sum 1 2 3 4 5))
-    
- -

Auto resolving promises

- -

-(let* ((res (fetch "https://terminal.jcubic.pl"))
-       (text ((. res "text"))))
-   (. ((. text "match") "<title>([^<]+)") 1))
-    
- -

Currying

- -

-(define (add a b) (+ a b))
-(define add10 (curry add 10))
-(print (add10 20))
-    
- -

Working with arrays

- -

- You can modify array with set! function and to get the value of the - array you can use . dot function. -

- -

-(let ((arr (list->array '(1 2 3 4))))
-   (set! (. x 1) 10)
-   (print (array->list arr)))
-
-(let* ((div ((. document "querySelectorAll") ".terminal .cmd-prompt"))
-       (len (. div "length"))
-       (i 0))
-    (while (< i len)
-       (print (. (. div i) "innerHTML"))
-       (++ i)))
-    
- -

this equivalent of JavaScript code:

- -

-var div = document.querySelectorAll(".terminal .cmd-prompt");
-var len = div.length;
-var i = 0;
-while (i < len) {
-   console.log(div[i].innerHTML);
-   ++i;
-}
-    
- -

Stdin and stdout

- -

If you're using print function to display values or using - read to get values from users, you can provide your own - handlers in environment, jQuery Terminal based implementation look like this:

-

By default stdout prints to console and stdin use browser prompt function.

- -

-var env = lips.env.inherit('name', {
-    stdout: {
-        write: function(...args) {
-            args.forEach((arg) => {
-                term.echo(arg, {keepWords: true});
-            });
-        }
-    },
-    stdin: {
-        read: function() {
-            return new Promise(function(resolve) {
-                term.read('', function(command) {
-                    resolve(command);
-                });
-            });
-        }
-    }
-});
-    
- -

Math and boolean operators (functions and macros)

- -
< > => >= 1+ 1- ++ -- + - * / % and or not
-

Bit operation

- -
| & ~ << >>
- - -

Extending LIPS

- -

to create new function from JavaScript you can use:

- -

-env.set('greeter', function(user) {
-   return "hello " + user;
-});
-    
- -

then you can use it in LIPS:

- -

-(greeter "john")
-    
- -

- To define a macro in javascript you can use Macro constructor that accept - single function argument, that should return lisp code (instance of Pair). -

- -

-var {Macro, Pair, Symbol, nil} = lips;
-
-env.set('quote-car', new Macro('quote-car', function(code) {
-    return Pair.fromArray([new Symbol('quote'), code.car.car]);
-}));
-    
- -

and you can execute this macro in LIPS:

-

-(quote-car (foo bar baz))
-    
-

it will return first symbol and not execute it as function foo.

- -

you can also use eval here to execute code

-

-env.set('async', new Macro('async', function(code, {dynamic_scope, error}) {
-    var args = {error, env: this};
-    if (dynamic_scope) {
-        args.dynamic_scope = this;
-    }
-    return new Promise(function(resolve) {
-        setTimeout(function() {
-            resolve(evaluate(code.car, args));
-        }, 0);
-    });
-}));
-    
- -

This function will invoke code in next iteration of event loop

-

- if you want to create macro like quasiquote, the returned code need to be wrapped with - function quote -

-

- When creating macros in JavaScript you can use helper Pair.fromArray() - and code.toArray(). -

-
-
-

Copyright (c) 2018-2022 Jakub T. Jankiewicz

- - -
- - - - - - - - diff --git a/docs.tmpl b/docs.tmpl deleted file mode 100644 index a8ed59730..000000000 --- a/docs.tmpl +++ /dev/null @@ -1,325 +0,0 @@ - - - - - LIPS - Documentation - - -{{HEAD}} -
-

NOTE: Documentation for Beta version can be found at - LIPS wiki.

-

Variables and functions

- -

-(define x 10)
-(define square (lambda (x) (* x x)))
-(define (square x) (* x x))
-    
- -

Lisp Macros

- -

-(define-macro (foo x) `(1 2 ,@(car x) 3 4))
-    
- -

BigInt

- -

lips have no problems in evaluating factorial of thousand, and it's fast.

- -

-(define (! n) (reduce * (map 1+ (range n))))
-
-(print (! 1000))
-    
- -

List operations

- -

-(cons 1 2)
-(cons 1 (cons 2 nil))
-(list 1 2 3 4)
-'(1 2 3 4)
-
-(let ((lst '(1 2 (3 4 5 6))))
-   (print (car lst))
-   (print (cadaddr lst)))
-    
- -

all functions that match this regex `c[ad]{1,5}r` are defined.

- -

ALists

- -

-(let ((l '((foo . "lorem") (bar "ipsum"))))
-   (set-cdr! (assoc l 'foo) "hello")
-   (set-cdr! (assoc l 'bar) "world")
-   (print l))
-    
- -

Flow constructs

- -

-(let ((x 5))
-    (while (> (-- x) 0) (print x)))
-    
- -

Operator == work as == in javascript but it should only be used on number or - values that can be converted to numbers like string "10".

-

To compare strings or any values use eq?

- -

-(if (== "10" 10)
-    (print "newer printed"))
-
-(if (eq? "foo" "bar")
-    (print "equal")
-    (print "not equal"))
-
-(let ((x 10))
-  (if (and (> x 1) (< x 20))
-      (begin
-         (print "this is x > 1")
-         (print "and x < 20"))))
-    
- -

Eval

- -

-(eval (read "(print \"hello\")"))
-    
- -

Apply

- -

Apply function the same as the one from javascript invoke a function with arguments taken from list

- -

-(let ((strings '("foo" "bar" "baz")))
-   (print (apply concat strings)))
-    
- -

Async code

- -

-(eval (read))
-    
- -

- then type S-Expression like (print 10). If function return Promise - the execution is paused and restored when Promise is resolved -

- - -

Access JavaScript functions and objects

- -

-((. window "alert") "hello")
-((. console "log") "hello")
-    
- -

- If object is not found in environment, then window object is tested for - presense of the element. -

- -

You can execute jQuery functions

- -

-(let* ((term ($ ".terminal")))
-  ((.  term "css") "background" "red"))
-    
- -

function $ is available because it's in window object.

- -

or operate on strings

- -

-((. "foo bar baz" "replace") /^[a-z]+/g "baz")
-
-(let ((match (. "foo bar baz" "match")))
-    (array->list (match /([a-z]+)/g)))
-    
- -

String operations

- -

-;; todo
-    
- -

Mapping, filtering and reducing

- -

-(map car (list
-            (cons "a" 2)
-            (cons "b" 3)))
-
-(filter odd (list 1 2 3 4 5))
-
-(filter (lambda (x)
-          (== (% x 2) 0))
-    (list 1 2 3 4 5))
-
-(define (reverse list)
-    (reduce (lambda (list x) (cons x list)) list nil))
-
-(reverse '(1 2 3 4))
-
-(define (sum . list) (reduce (lambda (a b) (+ a b)) list))
-;; or
-(define (sum . list) (reduce + list))
-
-(print (sum 1 2 3 4 5))
-    
- -

Auto resolving promises

- -

-(let* ((res (fetch "https://terminal.jcubic.pl"))
-       (text ((. res "text"))))
-   (. ((. text "match") "<title>([^<]+)") 1))
-    
- -

Currying

- -

-(define (add a b) (+ a b))
-(define add10 (curry add 10))
-(print (add10 20))
-    
- -

Working with arrays

- -

- You can modify array with set! function and to get the value of the - array you can use . dot function. -

- -

-(let ((arr (list->array '(1 2 3 4))))
-   (set! (. x 1) 10)
-   (print (array->list arr)))
-
-(let* ((div ((. document "querySelectorAll") ".terminal .cmd-prompt"))
-       (len (. div "length"))
-       (i 0))
-    (while (< i len)
-       (print (. (. div i) "innerHTML"))
-       (++ i)))
-    
- -

this equivalent of JavaScript code:

- -

-var div = document.querySelectorAll(".terminal .cmd-prompt");
-var len = div.length;
-var i = 0;
-while (i < len) {
-   console.log(div[i].innerHTML);
-   ++i;
-}
-    
- -

Stdin and stdout

- -

If you're using print function to display values or using - read to get values from users, you can provide your own - handlers in environment, jQuery Terminal based implementation look like this:

-

By default stdout prints to console and stdin use browser prompt function.

- -

-var env = lips.env.inherit('name', {
-    stdout: {
-        write: function(...args) {
-            args.forEach((arg) => {
-                term.echo(arg, {keepWords: true});
-            });
-        }
-    },
-    stdin: {
-        read: function() {
-            return new Promise(function(resolve) {
-                term.read('', function(command) {
-                    resolve(command);
-                });
-            });
-        }
-    }
-});
-    
- -

Math and boolean operators (functions and macros)

- -
< > => >= 1+ 1- ++ -- + - * / % and or not
-

Bit operation

- -
| & ~ << >>
- - -

Extending LIPS

- -

to create new function from JavaScript you can use:

- -

-env.set('greeter', function(user) {
-   return "hello " + user;
-});
-    
- -

then you can use it in LIPS:

- -

-(greeter "john")
-    
- -

- To define a macro in javascript you can use Macro constructor that accept - single function argument, that should return lisp code (instance of Pair). -

- -

-var {Macro, Pair, Symbol, nil} = lips;
-
-env.set('quote-car', new Macro('quote-car', function(code) {
-    return Pair.fromArray([new Symbol('quote'), code.car.car]);
-}));
-    
- -

and you can execute this macro in LIPS:

-

-(quote-car (foo bar baz))
-    
-

it will return first symbol and not execute it as function foo.

- -

you can also use eval here to execute code

-

-env.set('async', new Macro('async', function(code, {dynamic_scope, error}) {
-    var args = {error, env: this};
-    if (dynamic_scope) {
-        args.dynamic_scope = this;
-    }
-    return new Promise(function(resolve) {
-        setTimeout(function() {
-            resolve(evaluate(code.car, args));
-        }, 0);
-    });
-}));
-    
- -

This function will invoke code in next iteration of event loop

-

- if you want to create macro like quasiquote, the returned code need to be wrapped with - function quote -

-

- When creating macros in JavaScript you can use helper Pair.fromArray() - and code.toArray(). -

-
- {{FOOTER}} - - - - - - - diff --git a/docs/category/tutorial---basics/index.html b/docs/category/tutorial---basics/index.html new file mode 100644 index 000000000..3dd7ea4d5 --- /dev/null +++ b/docs/category/tutorial---basics/index.html @@ -0,0 +1,14 @@ + + + + + +Tutorial - Basics | LIPS Scheme + + + + + + + + \ No newline at end of file diff --git a/docs/category/tutorial---extras/index.html b/docs/category/tutorial---extras/index.html new file mode 100644 index 000000000..427656c2b --- /dev/null +++ b/docs/category/tutorial---extras/index.html @@ -0,0 +1,14 @@ + + + + + +Tutorial - Extras | LIPS Scheme + + + + + + + + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html new file mode 100644 index 000000000..807f17292 --- /dev/null +++ b/docs/intro/index.html @@ -0,0 +1,38 @@ + + + + + +Tutorial Intro | LIPS Scheme + + + + + +

Tutorial Intro

+

Let's discover Docusaurus in less than 5 minutes.

+

Getting Started

+

Get started by creating a new site.

+

Or try Docusaurus immediately with docusaurus.new.

+

What you'll need

+
    +
  • Node.js version 18.0 or above: +
      +
    • When installing Node.js, you are recommended to check all checkboxes related to dependencies.
    • +
    +
  • +
+

Generate a new site

+

Generate a new Docusaurus site using the classic template.

+

The classic template will automatically be added to your project after you run the command:

+
npm init docusaurus@latest my-website classic
+

You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.

+

The command also installs all necessary dependencies you need to run Docusaurus.

+

Start your site

+

Run the development server:

+
cd my-website
npm run start
+

The cd command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there.

+

The npm run start command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/.

+

Open docs/intro.md (this page) and edit some lines: the site reloads automatically and displays your changes.

+ + \ No newline at end of file diff --git a/docs/tutorial-basics/congratulations/index.html b/docs/tutorial-basics/congratulations/index.html new file mode 100644 index 000000000..9e3389dd5 --- /dev/null +++ b/docs/tutorial-basics/congratulations/index.html @@ -0,0 +1,28 @@ + + + + + +Congratulations! | LIPS Scheme + + + + + +

Congratulations!

+

You have just learned the basics of Docusaurus and made some changes to the initial template.

+

Docusaurus has much more to offer!

+

Have 5 more minutes? Take a look at versioning and i18n.

+

Anything unclear or buggy in this tutorial? Please report it!

+

What's next?

+
+ + \ No newline at end of file diff --git a/docs/tutorial-basics/create-a-blog-post/index.html b/docs/tutorial-basics/create-a-blog-post/index.html new file mode 100644 index 000000000..ecd2536d7 --- /dev/null +++ b/docs/tutorial-basics/create-a-blog-post/index.html @@ -0,0 +1,19 @@ + + + + + +Create a Blog Post | LIPS Scheme + + + + + +

Create a Blog Post

+

Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...

+

Create your first Post

+

Create a file at blog/2021-02-28-greetings.md:

+
blog/2021-02-28-greetings.md
---
slug: greetings
title: Greetings!
authors:
- name: Joel Marcey
title: Co-creator of Docusaurus 1
url: https://github.com/JoelMarcey
image_url: https://github.com/JoelMarcey.png
- name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
tags: [greetings]
---

Congratulations, you have made your first post!

Feel free to play around and edit this post as much you like.
+

A new blog post is now available at http://localhost:3000/blog/greetings.

+ + \ No newline at end of file diff --git a/docs/tutorial-basics/create-a-document/index.html b/docs/tutorial-basics/create-a-document/index.html new file mode 100644 index 000000000..cb0d69141 --- /dev/null +++ b/docs/tutorial-basics/create-a-document/index.html @@ -0,0 +1,30 @@ + + + + + +Create a Document | LIPS Scheme + + + + + +

Create a Document

+

Documents are groups of pages connected through:

+
    +
  • a sidebar
  • +
  • previous/next navigation
  • +
  • versioning
  • +
+

Create your first Doc

+

Create a Markdown file at docs/hello.md:

+
docs/hello.md
# Hello

This is my **first Docusaurus document**!
+

A new document is now available at http://localhost:3000/docs/hello.

+

Configure the Sidebar

+

Docusaurus automatically creates a sidebar from the docs folder.

+

Add metadata to customize the sidebar label and position:

+
docs/hello.md
---
sidebar_label: 'Hi!'
sidebar_position: 3
---

# Hello

This is my **first Docusaurus document**!
+

It is also possible to create your sidebar explicitly in sidebars.js:

+
sidebars.js
export default {
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
};
+ + \ No newline at end of file diff --git a/docs/tutorial-basics/create-a-page/index.html b/docs/tutorial-basics/create-a-page/index.html new file mode 100644 index 000000000..093e0c376 --- /dev/null +++ b/docs/tutorial-basics/create-a-page/index.html @@ -0,0 +1,28 @@ + + + + + +Create a Page | LIPS Scheme + + + + + +

Create a Page

+

Add Markdown or React files to src/pages to create a standalone page:

+
    +
  • src/pages/index.jslocalhost:3000/
  • +
  • src/pages/foo.mdlocalhost:3000/foo
  • +
  • src/pages/foo/bar.jslocalhost:3000/foo/bar
  • +
+

Create your first React Page

+

Create a file at src/pages/my-react-page.js:

+
src/pages/my-react-page.js
import React from 'react';
import Layout from '@theme/Layout';

export default function MyReactPage() {
return (
<Layout>
<h1>My React page</h1>
<p>This is a React page</p>
</Layout>
);
}
+

A new page is now available at http://localhost:3000/my-react-page.

+

Create your first Markdown Page

+

Create a file at src/pages/my-markdown-page.md:

+
src/pages/my-markdown-page.md
# My Markdown page

This is a Markdown page
+

A new page is now available at http://localhost:3000/my-markdown-page.

+ + \ No newline at end of file diff --git a/docs/tutorial-basics/deploy-your-site/index.html b/docs/tutorial-basics/deploy-your-site/index.html new file mode 100644 index 000000000..379613f83 --- /dev/null +++ b/docs/tutorial-basics/deploy-your-site/index.html @@ -0,0 +1,25 @@ + + + + + +Deploy your site | LIPS Scheme + + + + + +

Deploy your site

+

Docusaurus is a static-site-generator (also called Jamstack).

+

It builds your site as simple static HTML, JavaScript and CSS files.

+

Build your site

+

Build your site for production:

+
npm run build
+

The static files are generated in the build folder.

+

Deploy your site

+

Test your production build locally:

+
npm run serve
+

The build folder is now served at http://localhost:3000/.

+

You can now deploy the build folder almost anywhere easily, for free or very small cost (read the Deployment Guide).

+ + \ No newline at end of file diff --git a/docs/tutorial-basics/markdown-features/index.html b/docs/tutorial-basics/markdown-features/index.html new file mode 100644 index 000000000..7b2111ae9 --- /dev/null +++ b/docs/tutorial-basics/markdown-features/index.html @@ -0,0 +1,45 @@ + + + + + +Markdown Features | LIPS Scheme + + + + + +

Markdown Features

+

Docusaurus supports Markdown and a few additional features.

+

Front Matter

+

Markdown documents have metadata at the top called Front Matter:

+
my-doc.md
---
id: my-doc-id
title: My document title
description: My document description
slug: /my-custom-url
---

## Markdown heading

Markdown text with [links](./hello.md)
+ +

Regular Markdown links are supported, using url paths or relative file paths.

+
Let's see how to [Create a page](/create-a-page).
+
Let's see how to [Create a page](./create-a-page.md).
+

Result: Let's see how to Create a page.

+

Images

+

Regular Markdown images are supported.

+

You can use absolute paths to reference images in the static directory (static/img/docusaurus.png):

+
![Docusaurus logo](/img/docusaurus.png)
+

Docusaurus logo

+

You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:

+
![Docusaurus logo](./img/docusaurus.png)
+

Code Blocks

+

Markdown code blocks are supported with Syntax highlighting.

+
```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}
```
+
src/components/HelloDocusaurus.js
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}
+

Admonitions

+

Docusaurus has a special syntax to create admonitions and callouts:

+
:::tip[My tip]

Use this awesome feature option

:::

:::danger[Take care]

This action is dangerous

:::
+
My tip

Use this awesome feature option

+
Take care

This action is dangerous

+

MDX and React Components

+

MDX can make your documentation more interactive and allows using any React components inside Markdown:

+
export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`)
}}>
{children}
</span>
);

This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !

This is <Highlight color="#1877F2">Facebook blue</Highlight> !
+ +

This is Docusaurus green !

+

This is Facebook blue !

+ + \ No newline at end of file diff --git a/docs/tutorial-extras/manage-docs-versions/index.html b/docs/tutorial-extras/manage-docs-versions/index.html new file mode 100644 index 000000000..db15584e6 --- /dev/null +++ b/docs/tutorial-extras/manage-docs-versions/index.html @@ -0,0 +1,36 @@ + + + + + +Manage Docs Versions | LIPS Scheme + + + + + +

Manage Docs Versions

+

Docusaurus can manage multiple versions of your docs.

+

Create a docs version

+

Release a version 1.0 of your project:

+
npm run docusaurus docs:version 1.0
+

The docs folder is copied into versioned_docs/version-1.0 and versions.json is created.

+

Your docs now have 2 versions:

+
    +
  • 1.0 at http://localhost:3000/docs/ for the version 1.0 docs
  • +
  • current at http://localhost:3000/docs/next/ for the upcoming, unreleased docs
  • +
+

Add a Version Dropdown

+

To navigate seamlessly across versions, add a version dropdown.

+

Modify the docusaurus.config.js file:

+
docusaurus.config.js
export default {
themeConfig: {
navbar: {
items: [
{
type: 'docsVersionDropdown',
},
],
},
},
};
+

The docs version dropdown appears in your navbar:

+

Docs Version Dropdown

+

Update an existing version

+

It is possible to edit versioned docs in their respective folder:

+
    +
  • versioned_docs/version-1.0/hello.md updates http://localhost:3000/docs/hello
  • +
  • docs/hello.md updates http://localhost:3000/docs/next/hello
  • +
+ + \ No newline at end of file diff --git a/docs/tutorial-extras/translate-your-site/index.html b/docs/tutorial-extras/translate-your-site/index.html new file mode 100644 index 000000000..c87e1e96e --- /dev/null +++ b/docs/tutorial-extras/translate-your-site/index.html @@ -0,0 +1,38 @@ + + + + + +Translate your site | LIPS Scheme + + + + + +

Translate your site

+

Let's translate docs/intro.md to French.

+

Configure i18n

+

Modify docusaurus.config.js to add support for the fr locale:

+
docusaurus.config.js
export default {
i18n: {
defaultLocale: 'en',
locales: ['en', 'fr'],
},
};
+

Translate a doc

+

Copy the docs/intro.md file to the i18n/fr folder:

+
mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/

cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md
+

Translate i18n/fr/docusaurus-plugin-content-docs/current/intro.md in French.

+

Start your localized site

+

Start your site on the French locale:

+
npm run start -- --locale fr
+

Your localized site is accessible at http://localhost:3000/fr/ and the Getting Started page is translated.

+
caution

In development, you can only use one locale at a time.

+

Add a Locale Dropdown

+

To navigate seamlessly across languages, add a locale dropdown.

+

Modify the docusaurus.config.js file:

+
docusaurus.config.js
export default {
themeConfig: {
navbar: {
items: [
{
type: 'localeDropdown',
},
],
},
},
};
+

The locale dropdown now appears in your navbar:

+

Locale Dropdown

+

Build your localized site

+

Build your site for a specific locale:

+
npm run build -- --locale fr
+

Or build your site to include all the locales at once:

+
npm run build
+ + \ No newline at end of file diff --git a/editor/app.scm b/editor/app.scm deleted file mode 100644 index 2d1e0593f..000000000 --- a/editor/app.scm +++ /dev/null @@ -1,261 +0,0 @@ -(define (require url) - "Load JS or script tag" - (new Promise (lambda (resolve) - (if (null? (match #/.css$/ url)) - ((. $ 'getScript) url resolve) - (let ((link ($ (concat "")))) - (--> link (on "load" resolve) (appendTo "head"))))))) - -(define $ jQuery) -;; (require "https://unpkg.com/alasql@0.4.11/dist/alasql.min.js") - -(require "../examples/prism.js") - -(define (prn x) - (print x) - x) - -;; setup isomorphic-git and global fs methods as functions -(define fs (let* ((fs (new LightningFS "fs")) - (pfs fs.promises)) - (git.plugins.set "fs" fs) - pfs)) - -(define (new-repo dir) - "Prepare new git repo with base app" - (let ((dir (if (null? (match #/^\// dir)) (concat "/" dir) dir))) - (if (not (directory? dir)) - (begin - (fs.mkdir dir) - (git.init (object :dir dir)))))) - -(define (have-type type x) - (try (eq? (. (fs.stat x) 'type) type) - (catch (e) false))) - -(define directory? (curry have-type "dir")) -(define file? (curry have-type "file")) - - -(define (resiter-service-worker file) - (let* ((scope (replace #/\/[^\/]+$/ "/" (. location 'pathname))) - (register (. navigator 'serviceWorker 'register))) - (register "sw.js" (object :scope scope)))) - -;; registering service worker -(ignore (try (let ((req (resiter-service-worker "sw.js"))) - (set-global! req) - (req.addEventListener "updatefound" (lambda () - (let ((msg "A new service worker is being installed")) - (console.log msg)))) - (console.log (concat "Registration succeeded. Scope is " req.scope))) - (catch (e) - (console.log (concat "Registration failed " (repr e)))))) - -(define refresh-editors (debounce (lambda () - (for-each (lambda (editor) - (editor.refresh)) - (list html-editor css-editor lips-editor))) - 40)) - -(--> ($ ".container") - (split (object :percent true - :orientation "horizontal" - :limit 10 - :onDrag refresh-editors - :position #("50%" "30%"))) - (find ".panels") - (split (object :percent true - :orientation "vertical" - :onDrag refresh-editors - :limit 10 - :position #("33%" "33%")))) - - -(define (editor selector mode) - (--> CodeMirror (fromTextArea (--> document (querySelector selector)) - (object :mode mode - :theme "twilight" - :scrollbarStyle "simple" - :lineWrapping true - :matchBrackets true - :lineNumbers true)))) - -(define css-editor (editor ".css .code" "css")) -(define lips-editor (editor ".lips .code" "scheme")) -(define html-editor (editor ".html .code" "htmlmixed")) - -;; terminal function defined in ../examples/terminal.js -(define term (terminal (object :selector ($ ".term") :lips lips :name "lips-editor"))) -(--> (. $ 'terminal) (syntax "scheme")) - - - -(--> ($ "body") (removeClass "cloak")) - -(define-macro (let** list . body) - `(apply (lambda ,(map car list) ,@body) (list* ,@(map cadr list)))) - -(define (ajax path) - (--> (fetch path) (text))) - -(define (new-app dir) - (let ((helpers.lips (ajax "../examples/helpers.lips")) - (index.html (ajax "template/index.html")) - (app.lips (ajax "template/app.lips"))) - (fs.writeFile (join "/" (list dir "index.html")) index.html) - (fs.writeFile (join "/" (list dir "app.lips")) app.lips) - (fs.writeFile (join "/" (list dir "style.css")) "") - (fs.writeFile (join "/" (list dir "helpers.lips")) helpers.lips) - (--> html-editor (setValue index.html)) - (--> lips-editor (setValue app.lips)))) - -(define struct `((,css-editor . "style.css") - (,html-editor . "index.html") - (,lips-editor . "app.lips"))) - -(define (load-into-editor editor filename) - (--> editor (setValue (if (file? filename) (readFile filename) "")))) - -(define (editor-to-file editor file) - (fs.writeFile file (--> editor (getValue)))) - -(define (do-editors fn name) - (for-each (lambda (pair) - (if (not (directory? name)) - (error (concat name " is not directory")) - (let ((path (join "/" (list name (cdr pair))))) - (fn (car pair) path)))) - struct)) - -(define load-app (curry do-editors load-into-editor)) -(define save-app (curry do-editors editor-to-file)) - -(define (run-app name) - (let* (($iframe ($ ".preview iframe")) - (src (--> $iframe (val)))) - (if (null? (match (new RegExp (concat "__browserfs__/" name)) src)) - (--> $iframe (attr "src" (concat "./__browserfs__/" name "/"))) - (refresh-src $iframe)))) - - -(define (readFile path) - (let ((d (new TextDecoder "utf-8"))) - (--> d (decode (fs.readFile path))))) - -(define-macro (.on $element event . code) - `(--> ,$element (on ,event (lambda () - ,@code)))) - -(define (refresh-src $node) - (let* ((old (--> $node (attr "src"))) - (now (--> Date (now))) - (new-src (if (null? (match #/\?/ old)) - (concat old "?" now) - (replace #/[^?]*$/ now)))) - (--> $node (attr "src" new-src)))) - - -(define (lower string) - (--> string (toLowerCase))) - -(define (upper string) - (--> string (toUpperCase))) - - -(let* ((apps (array->list (fs.readdir "/"))) - ($save ($ "#save")) - ($iframe ($ ".preview iframe")) - ($run ($ "#run")) - ($download ($ "#download")) - ($apps ($ "#apps")) - (save (lambda () - (save-app (concat "/" (--> $apps (val))))))) - (--> $apps (empty)) - (.on $apps "change" (load-app (concat "/" (--> $apps (val))))) - (.on $save "click" (save)) - (.on $run "click" (run-app (--> $apps (val)))) - (.on $download "click" (let ((name (--> $apps (val)))) - (make-zip (concat "/" name) name))) - (--> ($ document) (on "keydown" (lambda (e) - (log (and (eq? (upper (. e 'key)) "S") (. e 'ctrlKey))) - (if (and (eq? (upper (. e 'key)) "S") (. e 'ctrlKey)) - (begin - (save) - (--> e (preventDefault))))))) - (for-each (lambda (app) - (--> $apps (append (concat "")))) - apps) - (--> $apps (trigger "change"))) - - -(define (commit dir) - (if (directory? dir) - (let ((now (string (--> Date (now))))) - (for-each (lambda (file) - (print file) - (if (not (eq? file ".git")) - (git.add (object :dir dir :filepath file)))) - (array->list (fs.readdir dir))) - (git.commit (object :dir dir - :author (:name "Anonymous" :email "mail@example.com") - :message (concat "save lips editor " now)))))) - - - -(define (traverse-directory directory-first dir callback) - (let ((files (array->list (fs.readdir dir)))) - (if directory-first - (callback "directory" dir)) - (for-each (lambda (name) - (if (not (match #/^\.{1.2}/ name)) - (let ((path (concat dir "/" name))) - (if (directory? path) - (traverse-directory directory-first path callback) - (callback "file" path))))) - files) - (if (not directory-first) - (callback "directory" dir)))) - -(define (make-zip dir zip-name) - (if (directory? dir) - (let* ((zip (new JSZip)) - (root (--> zip (folder zip-name))) - (re (new RegExp (concat "^" dir "/?"))) - (directories nil) - (run (lambda (stat filepath) - (let ((rel-path (replace re "" filepath))) - (if (eq? stat "directory") - (set! directories (cons (cons rel-path - (--> root (folder rel-path))) - directories)) - ;; we use array here - (let* ((parts (--> rel-path (split "/"))) - (filename (--> parts (pop))) - (dir (--> parts (join "/")))) - ;;(--> console (log (object :dir dir :filename filename))) - (let ((content (fs.readFile filepath)) - (pair (assoc dir directories))) - (--> (if (pair? pair) - (cdr pair) - root) - (file filename content))))))))) - (traverse-directory true dir run) - (download-zip (concat zip-name ".zip") zip)))) - -(define (download-zip name zip) - (let* ((uint8array (--> zip (generateAsync (object :type "uint8array")))) - (blob (new Blob (list->array (list uint8array)))) - (reader (new FileReader))) - (set-obj! reader 'onload (lambda (event) - (let* (($a ($ "download"))) - (--> $a - (attr "href" (. event 'target 'result)) - (attr "download" name) - (appendTo "body") - (get 0) - (click)) - (timer 100 (--> $a (remove)))))) - (--> reader (readAsDataURL blob)))) diff --git a/editor/bundle-a.js b/editor/bundle-a.js deleted file mode 100644 index 68ed15ecb..000000000 --- a/editor/bundle-a.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=190)}([function(e,t,n){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),r=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),l=!o&&/WebKit\//.test(e),c=l&&/Qt\/\d+\.\d+/.test(e),u=!o&&/Chrome\//.test(e),d=/Opera\//.test(e),f=/Apple Computer/.test(navigator.vendor),p=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),m=/PhantomJS/.test(e),h=!o&&/AppleWebKit/.test(e)&&/Mobile\/\w+/.test(e),g=/Android/.test(e),v=h||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),b=h||/Mac/.test(t),y=/\bCrOS\b/.test(e),k=/win/i.test(t),x=d&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(d=!1,l=!0);var w=b&&(c||d&&(null==x||x<12.11)),_=n||a&&s>=9;function S(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var E,T=function(e,t){var n=e.className,r=S(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function C(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function M(e,t){return C(e).appendChild(t)}function I(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}h?R=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(R=function(e){try{e.select()}catch(e){}});var F=function(){this.id=null};function j(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var V=[""];function Z(e){for(;V.length<=e;)V.push(K(V)+" ");return V[e]}function K(e){return e[e.length-1]}function Y(e,t){for(var n=[],r=0;r"€"&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var re=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&re.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var se=null;function le(e,t,n){var r;se=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:se=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:se=i)}return null!=r?r:se}var ce=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,r=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,a=/[1n]/;function s(e,t,n){this.level=e,this.from=t,this.to=n}return function(l,c){var u,d="ltr"==c?"L":"R";if(0==l.length||"ltr"==c&&!n.test(l))return!1;for(var f=l.length,p=[],m=0;m-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=pe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function ye(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){me(this,e,t)}}function ke(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function we(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function _e(e){ke(e),xe(e)}function Se(e){return e.target||e.srcElement}function Ee(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),b&&e.ctrlKey&&1==t&&(t=3),t}var Te,Ce,Me=function(){if(a&&s<9)return!1;var e=I("div");return"draggable"in e||"dragDrop"in e}();function Ie(e){if(null==Te){var t=I("span","​");M(e,I("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Te=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Te?I("span","​"):I("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ae(e){if(null!=Ce)return Ce;var t=M(e,document.createTextNode("AخA")),n=E(t,0,1).getBoundingClientRect(),r=E(t,1,2).getBoundingClientRect();return C(e),!(!n||n.left==n.right)&&(Ce=r.right-n.right<3)}var ze,Le=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Ne="oncopy"in(ze=I("div"))||(ze.setAttribute("oncopy","return;"),"function"==typeof ze.oncopy),Re=null,De={},Pe={};function $e(e){if("string"==typeof e&&Pe.hasOwnProperty(e))e=Pe[e];else if(e&&"string"==typeof e.name&&Pe.hasOwnProperty(e.name)){var t=Pe[e.name];"string"==typeof t&&(t={name:t}),(e=Q(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return $e("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return $e("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Fe(e,t){t=$e(t);var n=De[t.name];if(!n)return Fe(e,"text/plain");var r=n(e,t);if(je.hasOwnProperty(t.name)){var i=je[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var je={};function qe(e,t){var n=je.hasOwnProperty(e)?je[e]:je[e]={};P(t,n)}function Ue(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function We(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Be(e,t,n){return!e.startState||e.startState(t,n)}var He=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ge(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?et(n,Ge(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?et(e.line,t):n<0?et(e.line,0):e}(t,Ge(e,t.line).text.length)}function lt(e,t){for(var n=[],r=0;r=this.string.length},He.prototype.sol=function(){return this.pos==this.lineStart},He.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},He.prototype.next=function(){if(this.post},He.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},He.prototype.skipToEnd=function(){this.pos=this.string.length},He.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},He.prototype.backUp=function(e){this.pos-=e},He.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);if(i(o)==i(e))return!1!==t&&(this.pos+=e.length),!0},He.prototype.current=function(){return this.string.slice(this.start,this.pos)},He.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},He.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},He.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},ut=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function dt(e,t,n,r){var i=[e.state.modeGen],o={};kt(e,t.text,e.doc.mode,n,function(e,t){return i.push(e,t)},o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],l=1,c=0;n.state=!0,kt(e,t.text,s.mode,n,function(e,t){for(var n=l;ce&&i.splice(l,1,e,i[l+1],r),l+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&Ue(e.doc.mode,r.state),o=dt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function pt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ut(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ge(o,s-1),c=l.stateAfter;if(c&&(!n||s+(c instanceof ct?c.lookAhead:0)<=o.modeFrontier))return s;var u=$(l.text,null,e.options.tabSize);(null==i||r>u)&&(i=s-1,r=u)}return i}(e,t,n),a=o>r.first&&Ge(r,o-1).stateAfter,s=a?ut.fromSaved(r,a,o):new ut(r,Be(r.mode),o);return r.iter(o,t,function(n){mt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ut.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ut.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ut.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ut.fromSaved=function(e,t,n){return t instanceof ct?new ut(e,Ue(e.mode,t.state),n,t.lookAhead):new ut(e,Ue(e.mode,t),n)},ut.prototype.save=function(e){var t=!1!==e?Ue(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function bt(e,t,n,r){var i,o=e.doc,a=o.mode;t=st(o,t);var s,l=Ge(o,t.line),c=pt(e,t.line,n),u=new He(l.text,e.options.tabSize,c);for(r&&(s=[]);(r||u.pose.options.maxHighlightLength?(s=!1,a&&mt(e,t,r,d.pos),d.pos=t.length,l=null):l=yt(gt(n,d,r.state,f),o),f){var p=f[0].name;p&&(l="m-"+(l?p+" "+l:p))}if(!s||u!=l){for(;c=t:o.to>t);(r||(r=[])).push(new _t(a,o.from,l?null:o.to))}}return r}(n,i,a),l=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t);if(s||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var l=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var k=0;kt)&&(!n||Lt(n,o.marker)<0)&&(n=o.marker)}return n}function Pt(e,t,n,r,i){var o=Ge(e,t),a=wt&&o.markedSpans;if(a)for(var s=0;s=0&&d<=0||u<=0&&d>=0)&&(u<=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?tt(c.to,n)>=0:tt(c.to,n)>0)||u>=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?tt(c.from,r)<=0:tt(c.from,r)<0)))return!0}}}function $t(e){for(var t;t=Nt(e);)e=t.find(-1,!0).line;return e}function Ft(e,t){var n=Ge(e,t),r=$t(n);return n==r?t:Ye(r)}function jt(e,t){if(t>e.lastLine())return t;var n,r=Ge(e,t);if(!qt(e,r))return t;for(;n=Rt(r);)r=n.find(1,!0).line;return Ye(r)+1}function qt(e,t){var n=wt&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}var Gt=function(e,t,n){this.text=e,It(this,t),this.height=n?n(this):1};function Vt(e){e.parent=null,Mt(e)}Gt.prototype.lineNo=function(){return Ye(this)},ye(Gt);var Zt={},Kt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Kt:Zt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Xt(e,t){var n=A("span",null,null,l?"padding-right: .1px":null),r={pre:A("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Jt,Ae(e.display.measure)&&(a=ue(o,e.doc.direction))&&(r.addToken=en(r.addToken,a)),r.map=[];var s=t!=e.display.externalMeasured&&Ye(o);nn(o,r,ft(e,o,s)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=N(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=N(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Ie(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var c=r.content.lastChild;(/\bcm-tab\b/.test(c.className)||c.querySelector&&c.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=N(r.pre.className,r.textClass||"")),r}function Qt(e){var t=I("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Jt(e,t,n,r,i,o,l){if(t){var c,u=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;ic&&d.from<=c);f++);if(d.to>=u)return e(n,r,i,o,a,s,l);e(n,r.slice(0,d.to-c),i,o,null,s,l),o=null,r=r.slice(d.to-c),c=d.to}}}function tn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function nn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,l,c,u,d,f,p=i.length,m=0,h=1,g="",v=0;;){if(v==m){l=c=u=s="",f=null,d=null,v=1/0;for(var b=[],y=void 0,k=0;km||w.collapsed&&x.to==m&&x.from==m)){if(null!=x.to&&x.to!=m&&v>x.to&&(v=x.to,c=""),w.className&&(l+=" "+w.className),w.css&&(s=(s?s+";":"")+w.css),w.startStyle&&x.from==m&&(u+=" "+w.startStyle),w.endStyle&&x.to==v&&(y||(y=[])).push(w.endStyle,x.to),w.title&&((f||(f={})).title=w.title),w.attributes)for(var _ in w.attributes)(f||(f={}))[_]=w.attributes[_];w.collapsed&&(!d||Lt(d.marker,w)<0)&&(d=x)}else x.from>m&&v>x.from&&(v=x.from)}if(y)for(var S=0;S=p)break;for(var T=Math.min(p,v);;){if(g){var C=m+g.length;if(!d){var M=C>T?g.slice(0,T-m):g;t.addToken(t,M,a?a+l:l,u,m+M.length==v?c:"",s,f)}if(C>=T){g=g.slice(T-m),m=T;break}m=C,u=""}g=i.slice(o,o=n[h++]),a=Yt(n[h++],t.cm.options)}}else for(var I=1;In)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function An(e,t,n,r){return On(e,Ln(e,t),n,r)}function zn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=Dn(t.map,n,r),l=o.node,c=o.start,u=o.end,d=o.collapse;if(3==l.nodeType){for(var f=0;f<4;f++){for(;c&&ie(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+u1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var p;c>0&&(d=r="right"),i=e.options.lineWrapping&&(p=l.getClientRects()).length>1?p["right"==r?p.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var m=l.parentNode.getClientRects()[0];i=m?{left:m.left,right:m.left+nr(e.display),top:m.top,bottom:m.bottom}:Rn}for(var h=i.top-t.rect.top,g=i.bottom-t.rect.top,v=(h+g)/2,b=t.view.measure.heights,y=0;yt)&&(i=(o=l-s)-1,t>=l&&(a="right")),null!=i){if(r=e[c+2],s==l&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a="left";if("right"==n&&i==l-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function $n(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(l=r.text.length,c="before"):l<=0&&(l=0,c="after"),!s)return a("before"==c?l-1:l,"before"==c);function u(e,t,n){var r=s[t],i=1==r.level;return a(n?e-1:e,i!=n)}var d=le(s,l,c),f=se,p=u(l,d,"before"==c);return null!=f&&(p.other=u(l,f,"before"!=c)),p}function Zn(e,t){var n=0;t=st(e.doc,t),e.options.lineWrapping||(n=nr(e.display)*t.ch);var r=Ge(e.doc,t.line),i=Wt(r)+_n(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Kn(e,t,n,r,i){var o=et(e,t,n);return o.xRel=i,r&&(o.outside=!0),o}function Yn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Kn(r.first,0,null,!0,-1);var i=Xe(r,n),o=r.first+r.size-1;if(i>o)return Kn(r.first+r.size-1,Ge(r,o).text.length,null,!0,1);t<0&&(t=0);for(var a=Ge(r,i);;){var s=er(e,a,i,t,n),l=Dt(a,s.ch+(s.xRel>0?1:0));if(!l)return s;var c=l.find(1);if(c.line==i)return c;a=Ge(r,i=c.line)}}function Xn(e,t,n,r){r-=Wn(t);var i=t.text.length,o=ae(function(t){return On(e,n,t-1).bottom<=r},i,0);return i=ae(function(t){return On(e,n,t).top>r},o,i),{begin:o,end:i}}function Qn(e,t,n,r){n||(n=Ln(e,t));var i=Bn(e,t,On(e,n,r),"line").top;return Xn(e,t,n,i)}function Jn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function er(e,t,n,r,i){i-=Wt(t);var o=Ln(e,t),a=Wn(t),s=0,l=t.text.length,c=!0,u=ue(t,e.doc.direction);if(u){var d=(e.options.lineWrapping?function(e,t,n,r,i,o,a){var s=Xn(e,t,r,a),l=s.begin,c=s.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var u=null,d=null,f=0;f=c||p.to<=l)){var m=1!=p.level,h=On(e,r,m?Math.min(c,p.to)-1:Math.max(l,p.from)).right,g=hg)&&(u=p,d=g)}}return u||(u=i[i.length-1]),u.fromc&&(u={from:u.from,to:c,level:u.level}),u}:function(e,t,n,r,i,o,a){var s=ae(function(s){var l=i[s],c=1!=l.level;return Jn(Vn(e,et(n,c?l.to:l.from,c?"before":"after"),"line",t,r),o,a,!0)},0,i.length-1),l=i[s];if(s>0){var c=1!=l.level,u=Vn(e,et(n,c?l.from:l.to,c?"after":"before"),"line",t,r);Jn(u,o,a,!0)&&u.top>a&&(l=i[s-1])}return l})(e,t,n,o,u,r,i);c=1!=d.level,s=c?d.from:d.to-1,l=c?d.to:d.from-1}var f,p,m=null,h=null,g=ae(function(t){var n=On(e,o,t);return n.top+=a,n.bottom+=a,!!Jn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(m=t,h=n),!0)},s,l),v=!1;if(h){var b=r-h.left=k.bottom}return g=oe(t.text,g,1),Kn(n,g,p,v,r-f)}function tr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Nn){Nn=I("pre");for(var t=0;t<49;++t)Nn.appendChild(document.createTextNode("x")),Nn.appendChild(I("br"));Nn.appendChild(document.createTextNode("x"))}M(e.measure,Nn);var n=Nn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),C(e.measure),n||1}function nr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=I("span","xxxxxxxxxx"),n=I("pre",[t]);M(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function rr(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:ir(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function ir(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function or(e){var t=tr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/nr(e.display)-3);return function(i){if(qt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)wt&&Ft(e.doc,t)i.viewFrom?dr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)dr(e);else if(t<=i.viewFrom){var o=fr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):dr(e)}else if(n>=i.viewTo){var a=fr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):dr(e)}else{var s=fr(e,t,t,-1),l=fr(e,n,n+r,1);s&&l?(i.view=i.view.slice(0,s.index).concat(on(e,s.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):dr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[lr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==j(a,n)&&a.push(n)}}}function dr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function fr(e,t,n,r){var i,o=lr(e,t),a=e.display.view;if(!wt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Ft(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function pr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(h,n||0,null==r?f:r,function(e,t,i,d){var g="ltr"==i,v=p(e,g?"left":"right"),b=p(t-1,g?"right":"left"),y=null==n&&0==e,k=null==r&&t==f,x=0==d,w=!h||d==h.length-1;if(b.top-v.top<=3){var _=(c?y:k)&&x,S=(c?k:y)&&w,E=_?s:(g?v:b).left,T=S?l:(g?b:v).right;u(E,v.top,T-E,v.bottom)}else{var C,M,I,A;g?(C=c&&y&&x?s:v.left,M=c?l:m(e,i,"before"),I=c?s:m(t,i,"after"),A=c&&k&&w?l:b.right):(C=c?m(e,i,"before"):s,M=!c&&y&&x?l:v.right,I=!c&&k&&w?s:b.left,A=c?m(t,i,"after"):l),u(C,v.top,M-C,v.bottom),v.bottom0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function kr(e){e.state.focused||(e.display.input.focus(),wr(e))}function xr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,_r(e))},100)}function wr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,O(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),yr(e))}function _r(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,T(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Sr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||f<-.005)&&(Ke(i.line,l),Er(i.line),i.rest))for(var p=0;pe.display.sizerWidth){var m=Math.ceil(c/nr(e.display));m>e.display.maxLineLength&&(e.display.maxLineLength=m,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function Er(e){if(e.widgets)for(var t=0;t=a&&(o=Xe(t,Wt(Ge(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function Cr(e,t){var n=e.display,r=tr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Mn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Sn(n),l=t.tops-r;if(t.topi+o){var u=Math.min(t.top,(c?s:t.bottom)-o);u!=i&&(a.scrollTop=u)}var d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=Cn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),p=t.right-t.left>f;return p&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.leftf+d-3&&(a.scrollLeft=t.right+(p?0:10)-f),a}function Mr(e,t){null!=t&&(zr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Ir(e){zr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Ar(e,t,n){null==t&&null==n||zr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function zr(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=Zn(e,t.from),r=Zn(e,t.to);Lr(e,n,r,t.margin)}}function Lr(e,t,n,r){var i=Cr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Ar(e,i.scrollLeft,i.scrollTop)}function Or(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||oi(e,{top:t}),Nr(e,t,!0),n&&oi(e),ei(e,100))}function Nr(e,t,n){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Rr(e,t,n,r){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,li(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Dr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Sn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Tn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Pr=function(e,t,n){this.cm=n;var r=this.vert=I("div",[I("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=I("div",[I("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),fe(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),fe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Pr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Pr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Pr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Pr.prototype.zeroWidthHack=function(){var e=b&&!p?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},Pr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,function r(){var i=e.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.pointerEvents="none":t.set(1e3,r)})},Pr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var $r=function(){};function Fr(e,t){t||(t=Dr(e));var n=e.display.barWidth,r=e.display.barHeight;jr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Sr(e),jr(e,Dr(e)),n=e.display.barWidth,r=e.display.barHeight}function jr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}$r.prototype.update=function(){return{bottom:0,right:0}},$r.prototype.setScrollLeft=function(){},$r.prototype.setScrollTop=function(){},$r.prototype.clear=function(){};var qr={native:Pr,null:$r};function Ur(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&T(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new qr[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){"horizontal"==n?Rr(e,t):Or(e,t)},e),e.display.scrollbars.addClass&&O(e.display.wrapper,e.display.scrollbars.addClass)}var Wr=0;function Br(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wr},t=e.curOp,an?an.ops.push(t):t.ownsGroup=an={ops:[t],delayedCallbacks:[]}}function Hr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ni(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Vr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Sr(t),e.barMeasure=Dr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=An(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Tn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Cn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Zr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft1&&(a=!0)),null!=c.scrollLeft&&(Rr(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-d)>1&&(a=!0)),!a)break}return i}(t,st(r,e.scrollToPos.from),st(r,e.scrollToPos.to),e.scrollToPos.margin);!function(e,t){if(!ge(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!m){var o=I("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-_n(e.display))+"px;\n height: "+(t.bottom-t.top+Tn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,i)}var o=e.maybeHiddenMarkers,a=e.maybeUnhiddenMarkers;if(o)for(var s=0;s=e.display.viewTo)){var n=+new Date+e.options.workTime,r=pt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?Ue(t.mode,r.state):null,l=dt(e,o,r,!0);s&&(r.state=s),o.styles=l.styles;var c=o.styleClasses,u=l.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var d=!a||a.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),f=0;!d&&fn)return ei(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Yr(e,function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==pr(e))return!1;ci(e)&&(dr(e),t.dims=rr(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),wt&&(o=Ft(e.doc,o),a=jt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=on(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=on(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,lr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Wt(Ge(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var c=pr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var u=function(e){if(e.hasFocus())return null;var t=L();if(!t||!z(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&z(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&b&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var c=r.view,u=r.viewFrom,d=0;d-1&&(p=!1),un(e,f,u,n)),p&&(C(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Je(e.options,u)))),a=f.node.nextSibling}else{var m=vn(e,f,u,n);o.insertBefore(m,a)}u+=f.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=L()&&(e.activeElt.focus(),e.anchorNode&&z(document.body,e.anchorNode)&&z(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(u),C(n.cursorDiv),C(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ei(e,400)),n.updateLineNumbers=null,!0}function ii(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Cn(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Sn(e.display)-Mn(e),n.top)}),t.visible=Tr(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&ri(e,t);r=!1){Sr(e);var i=Dr(e);mr(e),Fr(e,i),si(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function oi(e,t){var n=new ni(e,t);if(ri(e,n)){Sr(e),ii(e,n);var r=Dr(e);mr(e),Fr(e,r),si(e,r),n.finish()}}function ai(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px"}function si(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Tn(e)+"px"}function li(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=ir(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,u=s.scrollHeight>s.clientHeight;if(i&&c||o&&u){if(o&&b&&l)e:for(var f=t.target,p=a.view;f!=s;f=f.parentNode)for(var m=0;m=0&&tt(e,r.to())<=0)return n}return-1};var ki=function(e,t){this.anchor=e,this.head=t};function xi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(e,t){return tt(e.from(),t.from())}),n=j(t,i);for(var o=1;o0:l>=0){var c=ot(s.from(),a.from()),u=it(s.to(),a.to()),d=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new ki(d?u:c,d?c:u))}}return new yi(t,n)}function wi(e,t){return new yi([new ki(e,t||e)],0)}function _i(e){return e.text?et(e.from.line+e.text.length-1,K(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Si(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return _i(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=_i(t).ch-t.to.ch),et(n,r)}function Ei(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,m-1),e.insert(s.line+1,v)}ln(e,"change",e,t)}function zi(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Di(e.done),K(e.done)):e.done.length&&!K(e.done).ranges?K(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),K(e.done)):void 0}(i,i.lastOp==r)))a=K(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,a.to)?a.to=_i(t):o.changes.push(Ri(e,t));else{var l=K(i.done);for(l&&l.ranges||Fi(e.sel,i.done),o={changes:[Ri(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function $i(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,K(i.done),t))?i.done[i.done.length-1]=t:Fi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Di(i.undone)}function Fi(e,t){var n=K(t);n&&n.ranges&&n.equals(e)||t.push(e)}function ji(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function qi(e){if(!e)return null;for(var t,n=0;n-1&&(K(s)[d]=c[d],delete c[d])}}}return r}function Bi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=tt(t,i)<0;o!=tt(n,i)<0?(i=t,t=n):o!=tt(t,n)<0&&(t=n)}return new ki(i,t)}return new ki(n||t,t)}function Hi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Yi(e,new yi([Bi(e.sel.primary(),t,n,i)],0),r)}function Gi(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var c=l.find(r<0?1:-1),u=void 0;if((r<0?l.inclusiveRight:l.inclusiveLeft)&&(c=ro(e,c,-r,c&&c.line==t.line?o:null)),c&&c.line==t.line&&(u=tt(c,n))&&(r<0?u<0:u>0))return to(e,c,t,r,i)}var d=l.find(r<0?-1:1);return(r<0?l.inclusiveLeft:l.inclusiveRight)&&(d=ro(e,d,r,d.line==t.line?o:null)),d?to(e,d,t,r,i):null}}return t}function no(e,t,n,r,i){var o=r||1,a=to(e,t,n,o,i)||!i&&to(e,t,n,o,!0)||to(e,t,n,-o,i)||!i&&to(e,t,n,-o,!0);return a||(e.cantEdit=!0,et(e.first,0))}function ro(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?st(e,et(t.line-1)):null:n>0&&t.ch==(r||Ge(e,t.line)).text.length?t.line0)){var u=[l,1],d=tt(c.from,s.from),f=tt(c.to,s.to);(d<0||!a.inclusiveLeft&&!d)&&u.push({from:c.from,to:s.from}),(f>0||!a.inclusiveRight&&!f)&&u.push({from:s.to,to:c.to}),i.splice.apply(i,u),l+=u.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)so(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else so(e,t)}}function so(e,t){if(1!=t.text.length||""!=t.text[0]||0!=tt(t.from,t.to)){var n=Ei(e,t);Pi(e,t,n,e.cm?e.cm.curOp.id:NaN),uo(e,t,n,Tt(e,t));var r=[];zi(e,function(e,n){n||-1!=j(r,e.history)||(ho(e.history,t),r.push(e.history)),uo(e,t,null,Tt(e,t))})}}function lo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,c=0;c=0;--p){var m=f(p);if(m)return m.v}}}}function co(e,t){if(0!=t&&(e.first+=t,e.sel=new yi(Y(e.sel.ranges,function(e){return new ki(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){cr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:et(o,Ge(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ve(e,t.from,t.to),n||(n=Ei(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ye($t(Ge(r,o.line))),r.iter(l,a.line+1,function(e){if(e==i.maxLine)return s=!0,!0})),r.sel.contains(t.from,t.to)>-1&&ve(e),Ai(r,t,n,or(e)),e.options.lineWrapping||(r.iter(l,o.line+t.text.length,function(e){var t=Bt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ge(e,r).stateAfter;if(i&&(!(i instanceof ct)||r+i.lookAhead1||!(this.children[0]instanceof vo))){var s=[];this.collapse(s),this.children=[new vo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=A("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Pt(e,t.line,t,n,o)||t.line!=n.line&&Pt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");wt=!0}o.addToHistory&&Pi(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,c=e.cm;if(e.iter(l,n.line+1,function(e){c&&o.collapsed&&!c.options.lineWrapping&&$t(e)==c.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Ke(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new _t(o,l==t.line?t.ch:null,l==n.line?n.ch:null)),++l}),o.collapsed&&e.iter(t.line,n.line+1,function(t){qt(e,t)&&Ke(t,0)}),o.clearOnEnter&&fe(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(xt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++xo,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)cr(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=t.line;u<=n.line;u++)ur(c,u,"text");o.atomic&&Ji(c.doc),ln(c,"markerAdded",c,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Br(e),be(this,"clear")){var n=this.find();n&&ln(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&cr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Ji(e.doc)),e&&ln(e,"markerCleared",e,this,r,i),t&&Hr(e),this.parent&&this.parent.clear()}},wo.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;l--)ao(this,r[l]);s?Ki(this,s):this.cm&&Ir(this.cm)}),undo:Jr(function(){lo(this,"undo")}),redo:Jr(function(){lo(this,"redo")}),undoSelection:Jr(function(){lo(this,"undo",!0)}),redoSelection:Jr(function(){lo(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=st(this,e),t=st(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&i!=e.line||null!=l.from&&i==t.line&&l.from>=t.ch||n&&!n(l.marker)||r.push(l.marker.parent||l.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n}),st(this,et(n,t))},indexFromPos:function(e){var t=(e=st(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var u=e.dataTransfer.getData("Text");if(u){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),Xi(t.doc,wi(n,n)),d)for(var f=0;f=0;t--)fo(e.doc,"",r[t].from,r[t].to,"+delete");Ir(e)})}function Ko(e,t,n){var r=oe(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Yo(e,t,n){var r=Ko(e,t.ch,n);return null==r?null:new et(t.line,r,n<0?"after":"before")}function Xo(e,t,n,r,i){if(e){var o=ue(n,t.doc.direction);if(o){var a,s=i<0?K(o):o[0],l=i<0==(1==s.level),c=l?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=Ln(t,n);a=i<0?n.text.length-1:0;var d=On(t,u,a).top;a=ae(function(e){return On(t,u,e).top==d},i<0==(1==s.level)?s.from:s.to-1,a),"before"==c&&(a=Ko(n,a,1))}else a=i<0?s.to:s.from;return new et(r,a,c)}}return new et(r,i<0?n.text.length:0,i<0?"before":"after")}jo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},jo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},jo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},jo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},jo.default=b?jo.macDefault:jo.pcDefault;var Qo={selectAll:io,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),W)},killLine:function(e){return Zo(e,function(t){if(t.empty()){var n=Ge(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Ge(e.doc,i.line-1).text;a&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),et(i.line-1,a.length-1),i,"+transpose"))}n.push(new ki(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Yr(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r-1&&(tt((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=Xr(e,function(t){l&&(i.scroller.draggable=!1),e.state.draggingText=!1,me(i.wrapper.ownerDocument,"mouseup",c),me(i.wrapper.ownerDocument,"mousemove",u),me(i.scroller,"dragstart",d),me(i.scroller,"drop",c),o||(ke(t),r.addNew||Hi(e.doc,n,null,null,r.extend),l||a&&9==s?setTimeout(function(){i.wrapper.ownerDocument.body.focus(),i.input.focus()},20):i.input.focus())}),u=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},d=function(){return o=!0};l&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),fe(i.wrapper.ownerDocument,"mouseup",c),fe(i.wrapper.ownerDocument,"mousemove",u),fe(i.scroller,"dragstart",d),fe(i.scroller,"drop",c),xr(e),setTimeout(function(){return i.input.focus()},20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;ke(t);var a,s,l=o.sel,c=l.ranges;if(r.addNew&&!r.extend?(s=o.sel.contains(n),a=s>-1?c[s]:new ki(n,n)):(a=o.sel.primary(),s=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(a=new ki(n,n)),n=sr(e,t,!0,!0),s=-1;else{var u=ma(e,n,r.unit);a=r.extend?Bi(a,u.anchor,u.head,r.extend):u}r.addNew?-1==s?(s=c.length,Yi(o,xi(e,c.concat([a]),s),{scroll:!1,origin:"*mouse"})):c.length>1&&c[s].empty()&&"char"==r.unit&&!r.extend?(Yi(o,xi(e,c.slice(0,s).concat(c.slice(s+1)),0),{scroll:!1,origin:"*mouse"}),l=o.sel):Vi(o,s,a,B):(s=0,Yi(o,new yi([a],0),B),l=o.sel);var d=n;function f(t){if(0!=tt(d,t))if(d=t,"rectangle"==r.unit){for(var i=[],c=e.options.tabSize,u=$(Ge(o,n.line).text,n.ch,c),f=$(Ge(o,t.line).text,t.ch,c),p=Math.min(u,f),m=Math.max(u,f),h=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));h<=g;h++){var v=Ge(o,h).text,b=G(v,p,c);p==m?i.push(new ki(et(h,b),et(h,b))):v.length>b&&i.push(new ki(et(h,b),et(h,G(v,m,c))))}i.length||i.push(new ki(n,n)),Yi(o,xi(e,l.ranges.slice(0,s).concat(i),s),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var y,k=a,x=ma(e,t,r.unit),w=k.anchor;tt(x.anchor,w)>0?(y=x.head,w=ot(k.from(),x.anchor)):(y=x.anchor,w=it(k.to(),x.head));var _=l.ranges.slice(0);_[s]=function(e,t){var n=t.anchor,r=t.head,i=Ge(e.doc,n.line);if(0==tt(n,r)&&n.sticky==r.sticky)return t;var o=ue(i);if(!o)return t;var a=le(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)l=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var u=le(o,r.ch,r.sticky),d=u-a||(r.ch-n.ch)*(1==s.level?-1:1);l=u==c-1||u==c?d<0:d>0}var f=o[c+(l?-1:0)],p=l==(1==f.level),m=p?f.from:f.to,h=p?"after":"before";return n.ch==m&&n.sticky==h?t:new ki(new et(n.line,m,h),r)}(e,new ki(st(o,w),y)),Yi(o,xi(e,_,s),B)}}var p=i.wrapper.getBoundingClientRect(),m=0;function h(t){e.state.selectingText=!1,m=1/0,t&&(ke(t),i.input.focus()),me(i.wrapper.ownerDocument,"mousemove",g),me(i.wrapper.ownerDocument,"mouseup",v),o.history.lastSelOrigin=null}var g=Xr(e,function(t){0!==t.buttons&&Ee(t)?function t(n){var a=++m,s=sr(e,n,!0,"rectangle"==r.unit);if(s)if(0!=tt(s,d)){e.curOp.focus=L(),f(s);var l=Tr(i,o);(s.line>=l.to||s.linep.bottom?20:0;c&&setTimeout(Xr(e,function(){m==a&&(i.scroller.scrollTop+=c,t(n))}),50)}}(t):h(t)}),v=Xr(e,h);e.state.selectingText=v,fe(i.wrapper.ownerDocument,"mousemove",g),fe(i.wrapper.ownerDocument,"mouseup",v)}(e,r,t,o)}(t,r,o,e):Se(e)==n.scroller&&ke(e):2==i?(r&&Hi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):3==i&&(_?t.display.input.onContextMenu(e):xr(t)))}}function ma(e,t,n){if("char"==n)return new ki(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new ki(et(t.line,0),st(e.doc,et(t.line+1,0)));var r=n(e,t);return new ki(r.from,r.to)}function ha(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&ke(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!be(e,n))return we(t);o-=s.top-a.viewOffset;for(var l=0;l=i){var u=Xe(e.doc,o),d=e.display.gutterSpecs[l];return he(e,n,e,u,d.className,t),we(t)}}}function ga(e,t){return ha(e,t,"gutterClick",!0)}function va(e,t){wn(e.display,t)||function(e,t){return!!be(e,"gutterContextMenu")&&ha(e,t,"gutterContextMenu",!1)}(e,t)||ge(e,t,"contextmenu")||_||e.display.input.onContextMenu(t)}function ba(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),jn(e)}fa.prototype.compare=function(e,t,n){return this.time+400>e&&0==tt(t,this.pos)&&n==this.button};var ya={toString:function(){return"CodeMirror.Init"}},ka={},xa={};function wa(e,t,n){var r=n&&n!=ya;if(!t!=!r){var i=e.display.dragFunctions,o=t?fe:me;o(e.display.scroller,"dragstart",i.start),o(e.display.scroller,"dragenter",i.enter),o(e.display.scroller,"dragover",i.over),o(e.display.scroller,"dragleave",i.leave),o(e.display.scroller,"drop",i.drop)}}function _a(e){e.options.lineWrapping?(O(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(T(e.display.wrapper,"CodeMirror-wrap"),Ht(e)),ar(e),cr(e),jn(e),setTimeout(function(){return Fr(e)},100)}function Sa(e,t){var n=this;if(!(this instanceof Sa))return new Sa(e,t);this.options=t=t?P(t):{},P(ka,t,!1);var r=t.value;"string"==typeof r?r=new Mo(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Sa.inputStyles[t.inputStyle](this),o=this.display=new pi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,ba(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Ur(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!v&&o.input.focus(),a&&s<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(e){var t=e.display;fe(t.scroller,"mousedown",Xr(e,pa)),fe(t.scroller,"dblclick",a&&s<11?Xr(e,function(t){if(!ge(e,t)){var n=sr(e,t);if(n&&!ga(e,t)&&!wn(e.display,t)){ke(t);var r=e.findWordAt(n);Hi(e.doc,r.anchor,r.head)}}}):function(t){return ge(e,t)||ke(t)}),fe(t.scroller,"contextmenu",function(t){return va(e,t)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}fe(t.scroller,"touchstart",function(i){if(!ge(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!ga(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),fe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),fe(t.scroller,"touchend",function(n){var r=t.activeTouch;if(r&&!wn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,"page");a=!r.prev||o(r,r.prev)?new ki(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new ki(et(s.line,0),st(e.doc,et(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),ke(n)}i()}),fe(t.scroller,"touchcancel",i),fe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Or(e,t.scroller.scrollTop),Rr(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))}),fe(t.scroller,"mousewheel",function(t){return bi(e,t)}),fe(t.scroller,"DOMMouseScroll",function(t){return bi(e,t)}),fe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){ge(e,t)||_e(t)},over:function(t){ge(e,t)||(function(e,t){var n=sr(e,t);if(n){var r=document.createDocumentFragment();gr(e,n,r),e.display.dragCursor||(e.display.dragCursor=I("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),M(e.display.dragCursor,r)}}(e,t),_e(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Io<100))_e(t);else if(!ge(e,t)&&!wn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!f)){var n=I("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",d&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),d&&n.parentNode.removeChild(n)}}(e,t)},drop:Xr(e,Ao),leave:function(t){ge(e,t)||zo(e)}};var l=t.input.getField();fe(l,"keyup",function(t){return la.call(e,t)}),fe(l,"keydown",Xr(e,sa)),fe(l,"keypress",Xr(e,ca)),fe(l,"focus",function(t){return wr(e,t)}),fe(l,"blur",function(t){return _r(e,t)})}(this),No(),Br(this),this.curOp.forceUpdate=!0,Li(this,r),t.autofocus&&!v||this.hasFocus()?setTimeout(D(wr,this),20):_r(this),xa)xa.hasOwnProperty(c)&&xa[c](n,t[c],ya);ci(this),t.finishInit&&t.finishInit(this);for(var u=0;u150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?$(Ge(o,t-1).text,null,a):0:"add"==n?c=l+e.options.indentUnit:"subtract"==n?c=l-e.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var d="",f=0;if(e.options.indentWithTabs)for(var p=Math.floor(c/a);p;--p)f+=a,d+="\t";if(fa,l=Le(t),c=null;if(s&&r.ranges.length>1)if(Ca&&Ca.text.join("\n")==t){if(r.ranges.length%Ca.text.length==0){c=[];for(var u=0;u=0;f--){var p=r.ranges[f],m=p.from(),h=p.to();p.empty()&&(n&&n>0?m=et(m.line,m.ch-n):e.state.overwrite&&!s?h=et(h.line,Math.min(Ge(o,h.line).text.length,h.ch+K(l).length)):s&&Ca&&Ca.lineWise&&Ca.text.join("\n")==t&&(m=h=et(m.line,0)));var g={from:m,to:h,text:c?c[f%c.length]:l,origin:i||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};ao(e.doc,g),ln(e,"inputRead",e,g)}t&&!s&&za(e,t),Ir(e),e.curOp.updateInput<2&&(e.curOp.updateInput=d),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Aa(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Yr(t,function(){return Ia(t,n,0,null,"paste")}),!0}function za(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Ta(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ge(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Ta(e,i.head.line,"smart"));a&&ln(e,"electricInput",e,i.head.line)}}}function La(e){for(var t=[],n=[],r=0;r=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=le(i,n.ch,n.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&f>=u.begin)){var p=d?"before":"after";return new et(n.line,f,p)}}var m=function(e,t,r){for(var o=function(e,t){return t?new et(n.line,l(e,1),"before"):new et(n.line,e,"after")};e>=0&&e0==(1!=a.level),c=s?r.begin:l(r.end,-1);if(a.from<=c&&c0?u.end:l(u.begin,-1);return null==g||r>0&&g==t.text.length||!(h=m(r>0?0:i.length-1,r,c(g)))?null:h}(e.cm,s,t,n):Yo(s,t,n))){if(r||((a=t.line+n)=e.first+e.size||(t=new et(a,t.ch,t.sticky),!(s=Ge(e,a)))))return!1;t=Xo(i,e.cm,s,t.line,n)}else t=o;return!0}if("char"==r)l();else if("column"==r)l(!0);else if("word"==r||"group"==r)for(var c=null,u="group"==r,d=e.cm&&e.cm.getHelper(t,"wordChars"),f=!0;!(n<0)||l(!f);f=!1){var p=s.text.charAt(t.ch)||"\n",m=te(p,d)?"w":u&&"\n"==p?"n":!u||/\s/.test(p)?null:"p";if(!u||f||m||(m="s"),c&&c!=m){n<0&&(n=1,l(),t.sticky="after");break}if(m&&(c=m),n>0&&!l(!f))break}var h=no(e,t,o,a,!0);return nt(o,h)&&(h.hitSide=!0),h}function Da(e,t,n,r){var i,o,a=e.doc,s=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*tr(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Pa=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function $a(e,t){var n=zn(e,t.line);if(!n||n.hidden)return null;var r=Ge(e.doc,t.line),i=In(n,r,t.line),o=ue(r,e.doc.direction),a="left";if(o){var s=le(o,t.ch);a=s%2?"right":"left"}var l=Dn(i.map,t.ch,a);return l.offset="right"==l.collapse?l.end:l.start,l}function Fa(e,t){return t&&(e.bad=!0),e}function ja(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Fa(e.clipPos(et(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&$a(t,i)||{node:l[0].measure.map[2],offset:0},u=o.liner.firstLine()&&(a=et(a.line-1,Ge(r.doc,a.line-1).length)),s.ch==Ge(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=lr(r,a.line))?(t=Ye(i.view[0].line),n=i.view[0].node):(t=Ye(i.view[e].line),n=i.view[e-1].node.nextSibling);var l,c,u=lr(r,s.line);if(u==i.view.length-1?(l=i.viewTo-1,c=i.lineDiv.lastChild):(l=Ye(i.view[u+1].line)-1,c=i.view[u+1].node.previousSibling),!n)return!1;for(var d=r.doc.splitLines(function(e,t,n,r,i){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function c(){a&&(o+=s,l&&(o+=s),a=l=!1)}function u(e){e&&(c(),o+=e)}function d(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void u(n);var o,f=t.getAttribute("cm-marker");if(f){var p=e.findMarks(et(r,0),et(i+1,0),(g=+f,function(e){return e.id==g}));return void(p.length&&(o=p[0].find(0))&&u(Ve(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var m=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;m&&c();for(var h=0;h1&&f.length>1;)if(K(d)==K(f))d.pop(),f.pop(),l--;else{if(d[0]!=f[0])break;d.shift(),f.shift(),t++}for(var p=0,m=0,h=d[0],g=f[0],v=Math.min(h.length,g.length);pa.ch&&b.charCodeAt(b.length-m-1)==y.charCodeAt(y.length-m-1);)p--,m++;d[d.length-1]=b.slice(0,b.length-m).replace(/^\u200b+/,""),d[0]=d[0].slice(p).replace(/\u200b+$/,"");var x=et(t,p),w=et(l,f.length?K(f).length-m:0);return d.length>1||d[0]||tt(x,w)?(fo(r.doc,d,x,w,"+input"),!0):void 0},Pa.prototype.ensurePolled=function(){this.forceCompositionEnd()},Pa.prototype.reset=function(){this.forceCompositionEnd()},Pa.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Pa.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Pa.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Yr(this.cm,function(){return cr(e.cm)})},Pa.prototype.setUneditable=function(e){e.contentEditable="false"},Pa.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Xr(this.cm,Ia)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Pa.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Pa.prototype.onContextMenu=function(){},Pa.prototype.resetPosition=function(){},Pa.prototype.needsContentAttribute=!0;var Ua=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Ua.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!ge(r,e)){if(r.somethingSelected())Ma({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=La(r);Ma({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,W):(n.prevInput="",i.value=t.text.join("\n"),R(i))}"cut"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(i.style.width="0px"),fe(i,"input",function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),fe(i,"paste",function(e){ge(r,e)||Aa(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())}),fe(i,"cut",o),fe(i,"copy",o),fe(e.scroller,"paste",function(t){if(!wn(e,t)&&!ge(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}}),fe(e.lineSpace,"selectstart",function(t){wn(e,t)||ke(t)}),fe(i,"compositionstart",function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}}),fe(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Ua.prototype.createField=function(e){this.wrapper=Na(),this.textarea=this.wrapper.firstChild},Ua.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=hr(e);if(e.options.moveInputWithCursor){var i=Vn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Ua.prototype.showSelection=function(e){var t=this.cm,n=t.display;M(n.cursorDiv,e.cursors),M(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ua.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&R(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Ua.prototype.getField=function(){return this.textarea},Ua.prototype.supportsTouch=function(){return!1},Ua.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!v||L()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ua.prototype.blur=function(){this.textarea.blur()},Ua.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ua.prototype.receivedFocus=function(){this.slowPoll()},Ua.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ua.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function n(){var r=t.poll();r||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))})},Ua.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||b&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(r.length,i.length);l1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ua.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ua.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Ua.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=sr(n,e),c=r.scroller.scrollTop;if(o&&!d){var u=n.options.resetSelectionOnContextMenu;u&&-1==n.doc.sel.contains(o)&&Xr(n,Yi)(n.doc,wi(o),W);var f,p=i.style.cssText,m=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(f=window.scrollY),r.input.focus(),l&&window.scrollTo(null,f),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=b,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&v(),_){_e(e);var g=function(){me(window,"mouseup",g),setTimeout(b,20)};fe(window,"mouseup",g)}else setTimeout(b,50)}function v(){if(null!=i.selectionStart){var e=n.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function b(){if(t.contextMenuPending==b&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,i.style.cssText=p,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&v();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?Xr(n,io)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Ua.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Ua.prototype.setUneditable=function(){},Ua.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=ya&&i(e,t,n)}:i)}e.defineOption=n,e.Init=ya,n("value","",function(e,t){return e.setValue(t)},!0),n("mode",null,function(e,t){e.doc.modeOption=t,Ci(e)},!0),n("indentUnit",2,Ci,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(e){Mi(e),jn(e),cr(e)},!0),n("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(et(r,o))}r++});for(var i=n.length-1;i>=0;i--)fo(e.doc,t,n[i],et(n[i].line,n[i].ch+t.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=ya&&e.refresh()}),n("specialCharPlaceholder",Qt,function(e){return e.refresh()},!0),n("electricChars",!0),n("inputStyle",v?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),n("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),n("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),n("rtlMoveVisually",!k),n("wholeLineUpdateBefore",!0),n("theme","default",function(e){ba(e),fi(e)},!0),n("keyMap","default",function(e,t,n){var r=Vo(t),i=n!=ya&&Vo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,_a,!0),n("gutters",[],function(e,t){e.display.gutterSpecs=ui(t,e.options.lineNumbers),fi(e)},!0),n("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?ir(e.display)+"px":"0",e.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(e){return Fr(e)},!0),n("scrollbarStyle","native",function(e){Ur(e),Fr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),n("lineNumbers",!1,function(e,t){e.display.gutterSpecs=ui(e.options.gutters,t),fi(e)},!0),n("firstLineNumber",1,fi,!0),n("lineNumberFormatter",function(e){return e},fi,!0),n("showCursorWhenSelecting",!1,mr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(e,t){"nocursor"==t&&(_r(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),n("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),n("dragDrop",!0,wa),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,mr,!0),n("singleCursorHeightPerLine",!0,mr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Mi,!0),n("addModeClass",!1,Mi,!0),n("pollInterval",100),n("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),n("historyEventDelay",1250),n("viewportMargin",10,function(e){return e.refresh()},!0),n("maxHighlightLength",1e4,Mi,!0),n("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),n("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),n("autofocus",null),n("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),n("phrases",null)}(Sa),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&Xr(this,t[e])(this,n,i),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Vo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Ta(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Ir(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Vi(this.doc,r,new ki(o,c[r].to()),W)}}}),getTokenAt:function(e,t){return bt(this,e,t)},getLineTokens:function(e,t){return bt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=st(this.doc,e);var t,n=ft(this,Ge(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=Ge(this.doc,e)}else r=e;return Bn(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Wt(r):0)},defaultTextHeight:function(){return tr(this.display)},defaultCharWidth:function(){return nr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,a,s,l=this.display,c=(e=Vn(this,st(this.doc,e))).bottom,u=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==r)c=e.top;else if("above"==r||"near"==r){var d=Math.max(l.wrapper.clientHeight,this.doc.height),f=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>d)&&e.top>t.offsetHeight?c=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=d&&(c=e.bottom),u+t.offsetWidth>f&&(u=f-t.offsetWidth)}t.style.top=c+"px",t.style.left=t.style.right="","right"==i?(u=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?u=0:"middle"==i&&(u=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=u+"px"),n&&(o=this,a={left:u,top:c,right:u+t.offsetWidth,bottom:c+t.offsetHeight},null!=(s=Cr(o,a)).scrollTop&&Or(o,s.scrollTop),null!=s.scrollLeft&&Rr(o,s.scrollLeft))},triggerOnKeyDown:Qr(sa),triggerOnKeyPress:Qr(ca),triggerOnKeyUp:la,triggerOnMouseDown:Qr(pa),execCommand:function(e){if(Qo.hasOwnProperty(e))return Qo[e].call(null,this)},triggerElectric:Qr(function(e){za(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=st(this.doc,e),a=0;a0&&s(n.charAt(r-1));)--r;for(;i.5)&&ar(this),he(this,"refresh",this)}),swapDoc:Qr(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Li(this,e),jn(this),this.display.input.reset(),Ar(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,ln(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ye(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Sa);var Wa="iter insert remove copy getEditor constructor".split(" ");for(var Ba in Mo.prototype)Mo.prototype.hasOwnProperty(Ba)&&j(Wa,Ba)<0&&(Sa.prototype[Ba]=function(e){return function(){return e.apply(this.doc,arguments)}}(Mo.prototype[Ba]));return ye(Mo),Sa.inputStyles={textarea:Ua,contenteditable:Pa},Sa.defineMode=function(e){Sa.defaults.mode||"null"==e||(Sa.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),De[e]=t}.apply(this,arguments)},Sa.defineMIME=function(e,t){Pe[e]=t},Sa.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Sa.defineMIME("text/plain","null"),Sa.defineExtension=function(e,t){Sa.prototype[e]=t},Sa.defineDocExtension=function(e,t){Mo.prototype[e]=t},Sa.fromTextArea=function(e,t){if((t=t?P(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=L();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(me(e.form,"submit",r),"function"==typeof e.form.submit&&(e.form.submit=i))}},e.style.display="none";var s=Sa(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return s},function(e){e.off=me,e.on=fe,e.wheelEventPixels=vi,e.Doc=Mo,e.splitLines=Le,e.countColumn=$,e.findColumn=G,e.isWordChar=ee,e.Pass=U,e.signal=he,e.Line=Gt,e.changeEnd=_i,e.scrollbarModel=qr,e.Pos=et,e.cmpPos=tt,e.modes=De,e.mimeModes=Pe,e.resolveMode=$e,e.getMode=Fe,e.modeExtensions=je,e.extendMode=qe,e.copyState=Ue,e.startState=Be,e.innerMode=We,e.commands=Qo,e.keyMap=jo,e.keyName=Go,e.isModifierKey=Bo,e.lookupKey=Wo,e.normalizeKeyMap=Uo,e.StringStream=He,e.SharedTextMarker=So,e.TextMarker=wo,e.LineWidget=yo,e.e_preventDefault=ke,e.e_stopPropagation=xe,e.e_stop=_e,e.addClass=O,e.contains=z,e.rmClass=T,e.keyNames=Do}(Sa),Sa.version="5.46.0",Sa}()},,,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},,,function(e,t,n){!function(e){"use strict";var t={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]},n={};function r(e,t){var r=e.match(function(e){var t=n[e];return t||(n[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}(t));return r?/^\s*(.*?)\s*$/.exec(r[2])[1]:""}function i(e,t){return new RegExp((t?"^":"")+"","i")}function o(e,t){for(var n in e)for(var r=t[n]||(t[n]=[]),i=e[n],o=i.length-1;o>=0;o--)r.unshift(i[o])}e.defineMode("htmlmixed",function(n,a){var s=e.getMode(n,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag}),l={},c=a&&a.tags,u=a&&a.scriptTypes;if(o(t,l),c&&o(c,l),u)for(var d=u.length-1;d>=0;d--)l.script.unshift(["type",u[d].matches,u[d].mode]);function f(t,o){var a,c=s.token(t,o.htmlState),u=/\btag\b/.test(c);if(u&&!/[<>\s\/]/.test(t.current())&&(a=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(a))o.inTag=a+" ";else if(o.inTag&&u&&/>$/.test(t.current())){var d=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var p=">"==t.current()&&function(e,t){for(var n=0;n-1?e.backUp(r.length-i):r.match(/<\/?$/)&&(e.backUp(r.length),e.match(t,!1)||e.match(r)),n}(e,g,t.localMode.token(e,t.localState))},o.localMode=m,o.localState=e.startState(m,s.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=t.current(),t.eol()&&(o.inTag+=" "));return c}return{startState:function(){var t=e.startState(s);return{token:f,inTag:null,localMode:null,localState:null,htmlState:t}},copyState:function(t){var n;return t.localState&&(n=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:n,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,n,r){return!t.localMode||/^\s*<\//.test(n)?s.indent(t.htmlState,n,r):t.localMode.indent?t.localMode.indent(t.localState,n,r):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}},"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")}(n(0),n(19),n(13),n(18))},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(o).concat([i]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i=0&&u.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return v(t,e.attrs),m(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function b(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var a=c++;n=l||(l=g(t)),r=x.bind(null,n,a,!1),i=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),m(e,t),t}(t),r=function(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=d(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),i=function(){h(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){h(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return f(n,t),function(e){for(var r=[],i=0;i!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function m(e,t,n){return r=e,i=n,t}function h(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){var r,i=!1;if(s&&"@"==e.peek()&&e.match(p))return t.tokenize=h,m("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.tokenize=h),m("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return m("number","number");if("."==r&&e.match(".."))return m("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return m(r);if("="==r&&e.eat(">"))return m("=>","operator");if("0"==r&&e.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return m("number","number");if(/\d/.test(r))return e.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),m("number","number");if("/"==r)return e.eat("*")?(t.tokenize=g,g(e,t)):e.eat("/")?(e.skipToEnd(),m("comment","comment")):Ve(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if("/"==t&&!r)return;"["==t?r=!0:r&&"]"==t&&(r=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),m("regexp","string-2")):(e.eat("="),m("operator","operator",e.current()));if("`"==r)return t.tokenize=v,v(e,t);if("#"==r)return e.skipToEnd(),m("error","error");if(f.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),m("operator","operator",e.current());if(u.test(r)){e.eatWhile(u);var i=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(i)){var o=d[i];return m(o.type,o.style,i)}if("async"==i&&e.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return m("async","keyword",i)}return m("variable","variable",i)}}function g(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=h;break}r="*"==n}return m("comment","comment")}function v(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=h;break}r=!r&&"\\"==n}return m("quasi","string-2",e.current())}var b="([{}])";function y(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=b.indexOf(s);if(l>=0&&l<3){if(!i){++a;break}if(0==--i){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++i;else if(u.test(s))o=!0;else{if(/["'\/]/.test(s))return;if(o&&!i){++a;break}}}o&&!i&&(t.fatArrowAt=a)}}var k={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0};function x(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function w(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(var n=r.vars;n;n=n.next)if(n.name==t)return!0}var _={state:null,column:null,marked:null,cc:null};function S(){for(var e=arguments.length-1;e>=0;e--)_.cc.push(arguments[e])}function E(){return S.apply(null,arguments),!0}function T(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function C(e){var t=_.state;if(_.marked="def",t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,n){if(n){if(n.block){var r=e(t,n.prev);return r?r==n.prev?n:new I(r,n.vars,!0):null}return T(t,n.vars)?n:new I(n.prev,new A(t,n.vars),!1)}return null}(e,t.context);if(null!=r)return void(t.context=r)}else if(!T(e,t.localVars))return void(t.localVars=new A(e,t.localVars));n.globalVars&&!T(e,t.globalVars)&&(t.globalVars=new A(e,t.globalVars))}function M(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function I(e,t,n){this.prev=e,this.vars=t,this.block=n}function A(e,t){this.name=e,this.next=t}var z=new A("this",new A("arguments",null));function L(){_.state.context=new I(_.state.context,_.state.localVars,!1),_.state.localVars=z}function O(){_.state.context=new I(_.state.context,_.state.localVars,!0),_.state.localVars=null}function N(){_.state.localVars=_.state.context.vars,_.state.context=_.state.context.prev}function R(e,t){var n=function(){var n=_.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new x(r,_.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function D(){var e=_.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function P(e){return function t(n){return n==e?E():";"==e||"}"==n||")"==n||"]"==n?S():E(t)}}function $(e,t){return"var"==e?E(R("vardef",t),be,P(";"),D):"keyword a"==e?E(R("form"),U,$,D):"keyword b"==e?E(R("form"),$,D):"keyword d"==e?_.stream.match(/^\s*$/,!1)?E():E(R("stat"),B,P(";"),D):"debugger"==e?E(P(";")):"{"==e?E(R("}"),O,ae,D,N):";"==e?E():"if"==e?("else"==_.state.lexical.info&&_.state.cc[_.state.cc.length-1]==D&&_.state.cc.pop()(),E(R("form"),U,$,D,Se)):"function"==e?E(Me):"for"==e?E(R("form"),Ee,$,D):"class"==e||c&&"interface"==t?(_.marked="keyword",E(R("form","class"==e?e:t),Oe,D)):"variable"==e?c&&"declare"==t?(_.marked="keyword",E($)):c&&("module"==t||"enum"==t||"type"==t)&&_.stream.match(/^\s*\w/,!1)?(_.marked="keyword","enum"==t?E(He):"type"==t?E(Ae,P("operator"),ue,P(";")):E(R("form"),ye,P("{"),R("}"),ae,D,D)):c&&"namespace"==t?(_.marked="keyword",E(R("form"),j,$,D)):c&&"abstract"==t?(_.marked="keyword",E($)):E(R("stat"),J):"switch"==e?E(R("form"),U,P("{"),R("}","switch"),O,ae,D,D,N):"case"==e?E(j,P(":")):"default"==e?E(P(":")):"catch"==e?E(R("form"),L,F,$,D,N):"export"==e?E(R("stat"),Pe,D):"import"==e?E(R("stat"),Fe,D):"async"==e?E($):"@"==t?E(j,$):S(R("stat"),j,P(";"),D)}function F(e){if("("==e)return E(ze,P(")"))}function j(e,t){return W(e,t,!1)}function q(e,t){return W(e,t,!0)}function U(e){return"("!=e?S():E(R(")"),j,P(")"),D)}function W(e,t,n){if(_.state.fatArrowAt==_.stream.start){var r=n?Y:K;if("("==e)return E(L,R(")"),ie(ze,")"),D,P("=>"),r,N);if("variable"==e)return S(L,ye,P("=>"),r,N)}var i=n?G:H;return k.hasOwnProperty(e)?E(i):"function"==e?E(Me,i):"class"==e||c&&"interface"==t?(_.marked="keyword",E(R("form"),Le,D)):"keyword c"==e||"async"==e?E(n?q:j):"("==e?E(R(")"),B,P(")"),D,i):"operator"==e||"spread"==e?E(n?q:j):"["==e?E(R("]"),Be,D,i):"{"==e?oe(te,"}",null,i):"quasi"==e?S(V,i):"new"==e?E(function(e){return function(t){return"."==t?E(e?Q:X):"variable"==t&&c?E(he,e?G:H):S(e?q:j)}}(n)):"import"==e?E(j):E()}function B(e){return e.match(/[;\}\)\],]/)?S():S(j)}function H(e,t){return","==e?E(j):G(e,t,!1)}function G(e,t,n){var r=0==n?H:G,i=0==n?j:q;return"=>"==e?E(L,n?Y:K,N):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?E(r):c&&"<"==t&&_.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?E(R(">"),ie(ue,">"),D,r):"?"==t?E(j,P(":"),i):E(i):"quasi"==e?S(V,r):";"!=e?"("==e?oe(q,")","call",r):"."==e?E(ee,r):"["==e?E(R("]"),B,P("]"),D,r):c&&"as"==t?(_.marked="keyword",E(ue,r)):"regexp"==e?(_.state.lastType=_.marked="operator",_.stream.backUp(_.stream.pos-_.stream.start-1),E(i)):void 0:void 0}function V(e,t){return"quasi"!=e?S():"${"!=t.slice(t.length-2)?E(V):E(j,Z)}function Z(e){if("}"==e)return _.marked="string-2",_.state.tokenize=v,E(V)}function K(e){return y(_.stream,_.state),S("{"==e?$:j)}function Y(e){return y(_.stream,_.state),S("{"==e?$:q)}function X(e,t){if("target"==t)return _.marked="keyword",E(H)}function Q(e,t){if("target"==t)return _.marked="keyword",E(G)}function J(e){return":"==e?E(D,$):S(H,P(";"),D)}function ee(e){if("variable"==e)return _.marked="property",E()}function te(e,t){return"async"==e?(_.marked="property",E(te)):"variable"==e||"keyword"==_.style?(_.marked="property","get"==t||"set"==t?E(ne):(c&&_.state.fatArrowAt==_.stream.start&&(n=_.stream.match(/^\s*:\s*/,!1))&&(_.state.fatArrowAt=_.stream.pos+n[0].length),E(re))):"number"==e||"string"==e?(_.marked=s?"property":_.style+" property",E(re)):"jsonld-keyword"==e?E(re):c&&M(t)?(_.marked="keyword",E(te)):"["==e?E(j,se,P("]"),re):"spread"==e?E(q,re):"*"==t?(_.marked="keyword",E(te)):":"==e?S(re):void 0;var n}function ne(e){return"variable"!=e?S(re):(_.marked="property",E(Me))}function re(e){return":"==e?E(q):"("==e?S(Me):void 0}function ie(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=_.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),E(function(n,r){return n==t||r==t?S():S(e)},r)}return i==t||o==t?E():n&&n.indexOf(";")>-1?S(e):E(P(t))}return function(n,i){return n==t||i==t?E():S(e,r)}}function oe(e,t,n){for(var r=3;r"),ue):void 0}function de(e){if("=>"==e)return E(ue)}function fe(e,t){return"variable"==e||"keyword"==_.style?(_.marked="property",E(fe)):"?"==t||"number"==e||"string"==e?E(fe):":"==e?E(ue):"["==e?E(P("variable"),se,P("]"),fe):"("==e?S(Ie,fe):void 0}function pe(e,t){return"variable"==e&&_.stream.match(/^\s*[?:]/,!1)||"?"==t?E(pe):":"==e?E(ue):"spread"==e?E(pe):S(ue)}function me(e,t){return"<"==t?E(R(">"),ie(ue,">"),D,me):"|"==t||"."==e||"&"==t?E(ue):"["==e?E(ue,P("]"),me):"extends"==t||"implements"==t?(_.marked="keyword",E(ue)):"?"==t?E(ue,P(":"),ue):void 0}function he(e,t){if("<"==t)return E(R(">"),ie(ue,">"),D,me)}function ge(){return S(ue,ve)}function ve(e,t){if("="==t)return E(ue)}function be(e,t){return"enum"==t?(_.marked="keyword",E(He)):S(ye,se,we,_e)}function ye(e,t){return c&&M(t)?(_.marked="keyword",E(ye)):"variable"==e?(C(t),E()):"spread"==e?E(ye):"["==e?oe(xe,"]"):"{"==e?oe(ke,"}"):void 0}function ke(e,t){return"variable"!=e||_.stream.match(/^\s*:/,!1)?("variable"==e&&(_.marked="property"),"spread"==e?E(ye):"}"==e?S():"["==e?E(j,P("]"),P(":"),ke):E(P(":"),ye,we)):(C(t),E(we))}function xe(){return S(ye,we)}function we(e,t){if("="==t)return E(q)}function _e(e){if(","==e)return E(be)}function Se(e,t){if("keyword b"==e&&"else"==t)return E(R("form","else"),$,D)}function Ee(e,t){return"await"==t?E(Ee):"("==e?E(R(")"),Te,D):void 0}function Te(e){return"var"==e?E(be,Ce):"variable"==e?E(Ce):S(Ce)}function Ce(e,t){return")"==e?E():";"==e?E(Ce):"in"==t||"of"==t?(_.marked="keyword",E(j,Ce)):S(j,Ce)}function Me(e,t){return"*"==t?(_.marked="keyword",E(Me)):"variable"==e?(C(t),E(Me)):"("==e?E(L,R(")"),ie(ze,")"),D,le,$,N):c&&"<"==t?E(R(">"),ie(ge,">"),D,Me):void 0}function Ie(e,t){return"*"==t?(_.marked="keyword",E(Ie)):"variable"==e?(C(t),E(Ie)):"("==e?E(L,R(")"),ie(ze,")"),D,le,N):c&&"<"==t?E(R(">"),ie(ge,">"),D,Ie):void 0}function Ae(e,t){return"keyword"==e||"variable"==e?(_.marked="type",E(Ae)):"<"==t?E(R(">"),ie(ge,">"),D):void 0}function ze(e,t){return"@"==t&&E(j,ze),"spread"==e?E(ze):c&&M(t)?(_.marked="keyword",E(ze)):c&&"this"==e?E(se,we):S(ye,se,we)}function Le(e,t){return"variable"==e?Oe(e,t):Ne(e,t)}function Oe(e,t){if("variable"==e)return C(t),E(Ne)}function Ne(e,t){return"<"==t?E(R(">"),ie(ge,">"),D,Ne):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(_.marked="keyword"),E(c?ue:j,Ne)):"{"==e?E(R("}"),Re,D):void 0}function Re(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&M(t))&&_.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(_.marked="keyword",E(Re)):"variable"==e||"keyword"==_.style?(_.marked="property",E(c?De:Me,Re)):"number"==e||"string"==e?E(c?De:Me,Re):"["==e?E(j,se,P("]"),c?De:Me,Re):"*"==t?(_.marked="keyword",E(Re)):c&&"("==e?S(Ie,Re):";"==e||","==e?E(Re):"}"==e?E():"@"==t?E(j,Re):void 0}function De(e,t){if("?"==t)return E(De);if(":"==e)return E(ue,we);if("="==t)return E(q);var n=_.state.lexical.prev,r=n&&"interface"==n.info;return S(r?Ie:Me)}function Pe(e,t){return"*"==t?(_.marked="keyword",E(We,P(";"))):"default"==t?(_.marked="keyword",E(j,P(";"))):"{"==e?E(ie($e,"}"),We,P(";")):S($)}function $e(e,t){return"as"==t?(_.marked="keyword",E(P("variable"))):"variable"==e?S(q,$e):void 0}function Fe(e){return"string"==e?E():"("==e?S(j):S(je,qe,We)}function je(e,t){return"{"==e?oe(je,"}"):("variable"==e&&C(t),"*"==t&&(_.marked="keyword"),E(Ue))}function qe(e){if(","==e)return E(je,qe)}function Ue(e,t){if("as"==t)return _.marked="keyword",E(je)}function We(e,t){if("from"==t)return _.marked="keyword",E(j)}function Be(e){return"]"==e?E():S(ie(q,"]"))}function He(){return S(R("form"),ye,P("{"),R("}"),ie(Ge,"}"),D,D)}function Ge(){return S(ye,we)}function Ve(e,t,n){return t.tokenize==h&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return N.lex=!0,D.lex=!0,{startState:function(e){var t={tokenize:h,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new I(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),y(e,t)),t.tokenize!=g&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==r?n:(t.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",function(e,t,n,r,i){var o=e.cc;for(_.state=e,_.stream=i,_.marked=null,_.cc=o,_.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var a=o.length?o.pop():l?j:$;if(a(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return _.marked?_.marked:"variable"==n&&w(e,r)?"variable-2":t}}}(t,n,r,i,e))},indent:function(t,r){if(t.tokenize==g)return e.Pass;if(t.tokenize!=h)return 0;var i,s=r&&r.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(r))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==D)l=l.prev;else if(u!=Se)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(i=t.cc[t.cc.length-1])&&(i==H||i==G)&&!/^[,\.=+\-*:?[\(]/.test(r));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var d=l.type,p=s==d;return"vardef"==d?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==d&&"{"==s?l.indented:"form"==d?l.indented+o:"stat"==d?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||f.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?a||o:0):"switch"!=l.info||p||0==n.doubleIndentSwitch?l.align?l.column+(p?0:1):l.indented+(p?0:o):l.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:Ve,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=j&&t!=q||e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(0))},,,,,function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=0;n0;i--)n.context=n.context.prev;return C(e,t,n)}function I(e){var t=e.current().toLowerCase();o=v.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var A={top:function(e,t,n){if("{"==e)return E(n,t,"block");if("}"==e&&n.context.prev)return T(n);if(k&&/@component/i.test(e))return E(n,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return E(n,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return E(n,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return n.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return E(n,t,"at");if("hash"==e)o="builtin";else if("word"==e)o="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return E(n,t,"interpolation");if(":"==e)return"pseudo";if(b&&"("==e)return E(n,t,"parens")}return n.context.type},block:function(e,t,n){if("word"==e){var r=t.current().toLowerCase();return f.hasOwnProperty(r)?(o="property","maybeprop"):p.hasOwnProperty(r)?(o="string-2","maybeprop"):b?(o=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==e?"block":b||"hash"!=e&&"qualifier"!=e?A.top(e,t,n):(o="error","block")},maybeprop:function(e,t,n){return":"==e?E(n,t,"prop"):C(e,t,n)},prop:function(e,t,n){if(";"==e)return T(n);if("{"==e&&b)return E(n,t,"propBlock");if("}"==e||"{"==e)return M(e,t,n);if("("==e)return E(n,t,"parens");if("hash"!=e||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(t.current())){if("word"==e)I(t);else if("interpolation"==e)return E(n,t,"interpolation")}else o+=" error";return"prop"},propBlock:function(e,t,n){return"}"==e?T(n):"word"==e?(o="property","maybeprop"):n.context.type},parens:function(e,t,n){return"{"==e||"}"==e?M(e,t,n):")"==e?T(n):"("==e?E(n,t,"parens"):"interpolation"==e?E(n,t,"interpolation"):("word"==e&&I(t),"parens")},pseudo:function(e,t,n){return"meta"==e?"pseudo":"word"==e?(o="variable-3",n.context.type):C(e,t,n)},documentTypes:function(e,t,n){return"word"==e&&l.hasOwnProperty(t.current())?(o="tag",n.context.type):A.atBlock(e,t,n)},atBlock:function(e,t,n){if("("==e)return E(n,t,"atBlock_parens");if("}"==e||";"==e)return M(e,t,n);if("{"==e)return T(n)&&E(n,t,b?"block":"top");if("interpolation"==e)return E(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();o="only"==r||"not"==r||"and"==r||"or"==r?"keyword":c.hasOwnProperty(r)?"attribute":u.hasOwnProperty(r)?"property":d.hasOwnProperty(r)?"keyword":f.hasOwnProperty(r)?"property":p.hasOwnProperty(r)?"string-2":v.hasOwnProperty(r)?"atom":g.hasOwnProperty(r)?"keyword":"error"}return n.context.type},atComponentBlock:function(e,t,n){return"}"==e?M(e,t,n):"{"==e?T(n)&&E(n,t,b?"block":"top",!1):("word"==e&&(o="error"),n.context.type)},atBlock_parens:function(e,t,n){return")"==e?T(n):"{"==e||"}"==e?M(e,t,n,2):A.atBlock(e,t,n)},restricted_atBlock_before:function(e,t,n){return"{"==e?E(n,t,"restricted_atBlock"):"word"==e&&"@counter-style"==n.stateArg?(o="variable","restricted_atBlock_before"):C(e,t,n)},restricted_atBlock:function(e,t,n){return"}"==e?(n.stateArg=null,T(n)):"word"==e?(o="@font-face"==n.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==n.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,n){return"word"==e?(o="variable","keyframes"):"{"==e?E(n,t,"top"):C(e,t,n)},at:function(e,t,n){return";"==e?T(n):"{"==e||"}"==e?M(e,t,n):("word"==e?o="tag":"hash"==e&&(o="builtin"),"at")},interpolation:function(e,t,n){return"}"==e?T(n):"{"==e||";"==e?M(e,t,n):("word"==e?o="variable":"variable"!=e&&"("!=e&&")"!=e&&(o="error"),"interpolation")}};return{startState:function(e){return{tokenize:null,state:r?"block":"top",stateArg:null,context:new S(r?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var n=(t.tokenize||function(e,t){var n=e.next();if(s[n]){var r=s[n](e,t);if(!1!==r)return r}return"@"==n?(e.eatWhile(/[\w\\\-]/),x("def",e.current())):"="==n||("~"==n||"|"==n)&&e.eat("=")?x(null,"compare"):'"'==n||"'"==n?(t.tokenize=w(n),t.tokenize(e,t)):"#"==n?(e.eatWhile(/[\w\\\-]/),x("atom","hash")):"!"==n?(e.match(/^\s*\w*/),x("keyword","important")):/\d/.test(n)||"."==n&&e.eat(/\d/)?(e.eatWhile(/[\w.%]/),x("number","unit")):"-"!==n?/[,+>*\/]/.test(n)?x(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?x(null,n):e.match(/[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/.test(e.current().toLowerCase())&&(t.tokenize=_),x("variable callee","variable")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),x("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):e.match(/^\w+-/)?x("meta","meta"):void 0})(e,t);return n&&"object"==typeof n&&(i=n[1],n=n[0]),o=n,"comment"!=i&&(t.state=A[t.state](i,e,t)),o},indent:function(e,t){var n=e.context,r=t&&t.charAt(0),i=n.indent;return"prop"!=n.type||"}"!=r&&")"!=r||(n=n.prev),n.prev&&("}"!=r||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=r||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=r||"at"!=n.type&&"atBlock"!=n.type)||(i=Math.max(0,n.indent-a)):(n=n.prev,i=n.indent)),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:y,fold:"brace"}});var n=["domain","regexp","url","url-prefix"],r=t(n),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=t(i),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],s=t(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],c=t(l),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],d=t(u),f=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],p=t(f),m=t(["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),h=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],v=t(g),b=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],y=t(b),k=n.concat(i).concat(a).concat(l).concat(u).concat(f).concat(g).concat(b);function x(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}e.registerHelper("hintWords","css",k),e.defineMIME("text/css",{documentTypes:r,mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:p,fontProperties:m,counterDescriptors:h,colorKeywords:v,valueKeywords:y,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=x,x(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:p,colorKeywords:v,valueKeywords:y,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=x,x(e,t)):["operator","operator"]},":":function(e){return!!e.match(/\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:p,colorKeywords:v,valueKeywords:y,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=x,x(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:o,mediaFeatures:s,propertyKeywords:d,nonStandardPropertyKeywords:p,fontProperties:m,counterDescriptors:h,colorKeywords:v,valueKeywords:y,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=x,x(e,t))}},name:"css",helperType:"gss"})}(n(0))},function(e,t,n){!function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode("xml",function(r,i){var o,a,s=r.indentUnit,l={},c=i.htmlMode?t:n;for(var u in c)l[u]=c[u];for(var u in i)l[u]=i[u];function d(e,t){function n(n){return t.tokenize=n,n(e,t)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?n(p("atom","]]>")):null:e.match("--")?n(p("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(function e(t){return function(n,r){for(var i;null!=(i=n.next());){if("<"==i)return r.tokenize=e(t+1),r.tokenize(n,r);if(">"==i){if(1==t){r.tokenize=d;break}return r.tokenize=e(t-1),r.tokenize(n,r)}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=p("meta","?>"),"meta"):(o=e.eat("/")?"closeTag":"openTag",t.tokenize=f,"tag bracket"):"&"==r?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function f(e,t){var n,r,i=e.next();if(">"==i||"/"==i&&e.eat(">"))return t.tokenize=d,o=">"==i?"endTag":"selfcloseTag","tag bracket";if("="==i)return o="equals",null;if("<"==i){t.tokenize=d,t.state=v,t.tagName=t.tagStart=null;var a=t.tokenize(e,t);return a?a+" tag error":"tag error"}return/[\'\"]/.test(i)?(t.tokenize=(n=i,(r=function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=f;break}return"string"}).isInAttribute=!0,r),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function p(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=d;break}n.next()}return e}}function m(e,t,n){this.prev=e.context,this.tagName=t,this.indent=e.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function h(e){e.context&&(e.context=e.context.prev)}function g(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!l.contextGrabbers.hasOwnProperty(n)||!l.contextGrabbers[n].hasOwnProperty(t))return;h(e)}}function v(e,t,n){return"openTag"==e?(n.tagStart=t.column(),b):"closeTag"==e?y:v}function b(e,t,n){return"word"==e?(n.tagName=t.current(),a="tag",w):l.allowMissingTagName&&"endTag"==e?(a="tag bracket",w(e,0,n)):(a="error",b)}function y(e,t,n){if("word"==e){var r=t.current();return n.context&&n.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(n.context.tagName)&&h(n),n.context&&n.context.tagName==r||!1===l.matchClosing?(a="tag",k):(a="tag error",x)}return l.allowMissingTagName&&"endTag"==e?(a="tag bracket",k(e,0,n)):(a="error",x)}function k(e,t,n){return"endTag"!=e?(a="error",k):(h(n),v)}function x(e,t,n){return a="error",k(e,0,n)}function w(e,t,n){if("word"==e)return a="attribute",_;if("endTag"==e||"selfcloseTag"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(r)?g(n,r):(g(n,r),n.context=new m(n,r,i==n.indented)),v}return a="error",w}function _(e,t,n){return"equals"==e?S:(l.allowMissing||(a="error"),w(e,0,n))}function S(e,t,n){return"string"==e?E:"word"==e&&l.allowUnquoted?(a="string",w):(a="error",w(e,0,n))}function E(e,t,n){return"string"==e?E:w(e,0,n)}return d.isInText=!0,{startState:function(e){var t={tokenize:d,state:v,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var n=t.tokenize(e,t);return(n||o)&&"comment"!=n&&(a=null,t.state=t.state(o||n,e,t),a&&(n="error"==a?n+" error":a)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=f&&t.tokenize!=d)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==S&&(e.state=w)}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}(n(0))},,,function(e,t,n){!function(e){"use strict";e.overlayMode=function(t,n,r){return{startState:function(){return{base:e.startState(t),overlay:e.startState(n),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(r){return{base:e.copyState(t,r.base),overlay:e.copyState(n,r.overlay),basePos:r.basePos,baseCur:null,overlayPos:r.overlayPos,overlayCur:null}},token:function(e,i){return(e!=i.streamSeen||Math.min(i.basePos,i.overlayPos)2&&u.token&&"string"!=typeof u.token){r.pending=[];for(var p=2;p-1)return e.Pass;var a=r.indent.length-1,s=t[r.state];e:for(;;){for(var l=0;l|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0}function o(e){for(;;){if(!e||"top"==e.type)return!0;if("}"==e.type&&"namespace"!=e.prev.info)return!1;e=e.prev}}function a(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/,I=l.isIdentifierChar||/[\w\$_\xa1-\uffff]/,A=l.isReservedIdentifier||!1;function z(e,t){var n,r=e.next();if(k[r]){var i=k[r](e,t);if(!1!==i)return i}if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!x)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(E.test(r))return c=r,null;if(T.test(r)){if(e.backUp(1),e.match(C))return"number";e.next()}if("/"==r){if(e.eat("*"))return t.tokenize=L,L(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(M.test(r)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(M););return"operator"}if(e.eatWhile(I),S)for(;e.match(S);)e.eatWhile(I);var o=e.current();return s(m,o)?(s(v,o)&&(c="newstatement"),s(b,o)&&(u=!0),"keyword"):s(h,o)?"type":s(g,o)||A&&A(o)?(s(v,o)&&(c="newstatement"),"builtin"):s(y,o)?"atom":"variable"}function L(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function O(e,t){l.typeFirstDefinitions&&e.eol()&&o(t.context)&&(t.typeAtEndOfLine=i(e,t,e.pos))}return{startState:function(e){return{tokenize:null,context:new t((e||0)-d,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(e,t){var a=t.context;if(e.sol()&&(null==a.align&&(a.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return O(e,t),null;c=u=null;var s=(t.tokenize||z)(e,t);if("comment"==s||"meta"==s)return s;if(null==a.align&&(a.align=!0),";"==c||":"==c||","==c&&e.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==t.context.type;)r(t);else if("{"==c)n(t,e.column(),"}");else if("["==c)n(t,e.column(),"]");else if("("==c)n(t,e.column(),")");else if("}"==c){for(;"statement"==a.type;)a=r(t);for("}"==a.type&&(a=r(t));"statement"==a.type;)a=r(t)}else c==a.type?r(t):w&&(("}"==a.type||"top"==a.type)&&";"!=c||"statement"==a.type&&"newstatement"==c)&&n(t,e.column(),"statement",e.current());if("variable"==s&&("def"==t.prevToken||l.typeFirstDefinitions&&i(e,t,e.start)&&o(t.context)&&e.match(/^\s*\(/,!1))&&(s="def"),k.token){var d=k.token(e,t,s);void 0!==d&&(s=d)}return"def"==s&&!1===l.styleDefs&&(s="variable"),t.startOfLine=!1,t.prevToken=u?"def":s||c,O(e,t),s},indent:function(t,n){if(t.tokenize!=z&&null!=t.tokenize||t.typeAtEndOfLine)return e.Pass;var r=t.context,i=n&&n.charAt(0),o=i==r.type;if("statement"==r.type&&"}"==i&&(r=r.prev),l.dontIndentStatements)for(;"statement"==r.type&&l.dontIndentStatements.test(r.info);)r=r.prev;if(k.indent){var a=k.indent(t,r,n,d);if("number"==typeof a)return a}var s=r.prev&&"switch"==r.prev.info;if(l.allmanIndentation&&/[{(]/.test(i)){for(;"top"!=r.type&&"}"!=r.type;)r=r.prev;return r.indented}return"statement"==r.type?r.indented+("{"==i?0:f):!r.align||p&&")"==r.type?")"!=r.type||o?r.indented+(o?0:d)+(o||!s||/^(?:case|default)\b/.test(n)?0:d):r.indented+f:r.column+(o?0:1)},electricInput:_?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var l="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",c=a("int long char short double float unsigned signed void bool"),u=a("SEL instancetype id Class Protocol BOOL");function d(e){return s(c,e)||/.+_t$/.test(e)}var f="case do else for if switch while struct enum union";function p(e,t){if(!t.startOfLine)return!1;for(var n,r=null;n=e.peek();){if("\\"==n&&e.match(/^.$/)){r=p;break}if("/"==n&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=r,"meta"}function m(e,t){return"type"==t.prevToken&&"type"}function h(e){return!(!e||e.length<2||"_"!=e[0]||"_"!=e[1]&&e[1]===e[1].toLowerCase())}function g(e){return e.eatWhile(/[\w\.']/),"number"}function v(e,t){if(e.backUp(1),e.match(/(R|u8R|uR|UR|LR)/)){var n=e.match(/"([^\s\\()]{0,16})\(/);return!!n&&(t.cpp11RawStringDelim=n[1],t.tokenize=y,y(e,t))}return e.match(/(u8|u|U|L)/)?!!e.match(/["']/,!1)&&"string":(e.next(),!1)}function b(e,t){for(var n;null!=(n=e.next());)if('"'==n&&!e.eat('"')){t.tokenize=null;break}return"string"}function y(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),r=e.match(new RegExp(".*?\\)"+n+'"'));return r?t.tokenize=null:e.skipToEnd(),"string"}function k(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.types),i(n.builtin),i(n.atoms),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=x,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,n){var r=n.context;return!("}"!=r.type||!r.align||!e.eat(">"))&&(n.context=new t(r.indented,r.column,r.type,r.info,null,r.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=function e(t){return function(n,r){for(var i;i=n.next();){if("*"==i&&n.eat("/")){if(1==t){r.tokenize=null;break}return r.tokenize=e(t-1),r.tokenize(n,r)}if("/"==i&&n.eat("*"))return r.tokenize=e(t+1),r.tokenize(n,r)}return"comment"}}(1),t.tokenize(e,t))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),k("text/x-kotlin",{name:"clike",keywords:a("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:a("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:a("catch class do else finally for if where try while enum"),defKeywords:a("class val var object interface fun"),atoms:a("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){var n;return t.tokenize=(n=e.match('""'),function(e,t){for(var r,i=!1,o=!1;!e.eol();){if(!n&&!i&&e.match('"')){o=!0;break}if(n&&e.match('"""')){o=!0;break}r=e.next(),!i&&"$"==r&&e.match("{")&&e.skipTo("}"),i=!i&&"\\"==r&&!n}return!o&&n||(t.tokenize=null),"string"}),t.tokenize(e,t)},indent:function(e,t,n,r){var i=n&&n.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=n?"operator"==e.prevToken&&"}"!=n||"variable"==e.prevToken&&"."==i||("}"==e.prevToken||")"==e.prevToken)&&"."==i?2*r+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(n||"").charAt(0)?0:r):void 0:e.indented}},modeProps:{closeBrackets:{triples:'"'}}}),k(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:a("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:a("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:a("for while do if else struct"),builtin:a("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:a("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":p},modeProps:{fold:["brace","include"]}}),k("text/x-nesc",{name:"clike",keywords:a(l+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:d,blockKeywords:a(f),atoms:a("null true false"),hooks:{"#":p},modeProps:{fold:["brace","include"]}}),k("text/x-objectivec",{name:"clike",keywords:a(l+" bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available"),types:function(e){return d(e)||s(u,e)},builtin:a("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINED NS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:a(f+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:a("struct enum union @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:a("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:h,hooks:{"#":p,"*":m},modeProps:{fold:["brace","include"]}}),k("text/x-squirrel",{name:"clike",keywords:a("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:d,blockKeywords:a("case catch class else for foreach if switch try while"),defKeywords:a("function local class"),typeFirstDefinitions:!0,atoms:a("true false null"),hooks:{"#":p},modeProps:{fold:["brace","include"]}});var w=null;k("text/x-ceylon",{name:"clike",keywords:a("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:a("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:a("class dynamic function interface module object package value"),builtin:a("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:a("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=function e(t){return function(n,r){for(var i,o=!1,a=!1;!n.eol();){if(!o&&n.match('"')&&("single"==t||n.match('""'))){a=!0;break}if(!o&&n.match("``")){w=e(t),a=!0;break}i=n.next(),o="single"==t&&!o&&"\\"==i}return a&&(r.tokenize=null),"string"}}(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!w||!e.match("`"))&&(t.tokenize=w,w=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if(("variable"==n||"type"==n)&&"."==t.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("ruby",function(t){function n(e){for(var t={},n=0,r=e.length;n-1)r++;else if("]})".indexOf(t)>-1){if(--r<0)break}else if("/"==t&&0==r){i=!0;break}o="\\"==t}return e.backUp(e.pos-n),i}(e)?l(f(a,"string-2",!0),e,t):"operator";if("%"==a){var c="string",u=!0;e.eat("s")?c="atom":e.eat(/[WQ]/)?c="string":e.eat(/[r]/)?c="string-2":e.eat(/[wxq]/)&&(c="string",u=!1);var d=e.eat(/[^\w\s=]/);return d?(s.propertyIsEnumerable(d)&&(d=s[d]),l(f(d,c,u,!0),e,t)):"operator"}if("#"==a)return e.skipToEnd(),"comment";if("<"==a&&(n=e.match(/^<(-)?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return l((i=n[2],o=n[1],function(e,t){return o&&e.eatSpace(),e.match(i)?t.tokenize.pop():e.skipToEnd(),"string"}),e,t);if("0"==a)return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(a))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if("?"==a){for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}if(":"==a)return e.eat("'")?l(f("'","atom",!1),e,t):e.eat('"')?l(f('"',"atom",!0),e,t):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if("@"==a&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if("$"==a)return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(a))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"ident";if("|"!=a||!t.varList&&"{"!=t.lastTok&&"do"!=t.lastTok){if(/[\(\)\[\]{}\\;]/.test(a))return r=a,null;if("-"==a&&e.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(a)){var m=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return"."!=a||m||(r="."),"operator"}return null}return r="|",null}function u(e){return e||(e=1),function(t,n){if("}"==t.peek()){if(1==e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);n.tokenize[n.tokenize.length-1]=u(e-1)}else"{"==t.peek()&&(n.tokenize[n.tokenize.length-1]=u(e+1));return c(t,n)}}function d(){var e=!1;return function(t,n){return e?(n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)):(e=!0,c(t,n))}}function f(e,t,n,r){return function(i,o){var a,s=!1;for("read-quoted-paused"===o.context.type&&(o.context=o.context.prev,i.eat("}"));null!=(a=i.next());){if(a==e&&(r||!s)){o.tokenize.pop();break}if(n&&"#"==a&&!s){if(i.eat("{")){"}"==e&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(u());break}if(/[@\$]/.test(i.peek())){o.tokenize.push(d());break}}s=!s&&"\\"==a}return t}}function p(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[c],indented:0,context:{type:"top",indented:-t.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){r=null,e.sol()&&(t.indented=e.indentation());var n,s=t.tokenize[t.tokenize.length-1](e,t),l=r;if("ident"==s){var c=e.current();"keyword"==(s="."==t.lastTok?"property":i.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(c)?"tag":"def"==t.lastTok||"class"==t.lastTok||t.varList?"def":"variable")&&(l=c,o.propertyIsEnumerable(c)?n="indent":a.propertyIsEnumerable(c)?n="dedent":"if"!=c&&"unless"!=c||e.column()!=e.indentation()?"do"==c&&t.context.indented|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,o=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,a=/^[_A-Za-z$][_A-Za-z$0-9]*/,s=/^@[_A-Za-z$][_A-Za-z$0-9]*/,l=r(["and","or","not","is","isnt","in","instanceof","typeof"]),c=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],u=r(c.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));c=r(c);var d=/^('{3}|\"{3}|['\"])/,f=/^(\/{3}|\/)/,p=r(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function m(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var r=t.scope.offset;if(e.eatSpace()){var c=e.indentation();return c>r&&"coffee"==t.scope.type?"indent":c0&&b(e,t)}if(e.eatSpace())return null;var m=e.peek();if(e.match("####"))return e.skipToEnd(),"comment";if(e.match("###"))return t.tokenize=g,t.tokenize(e,t);if("#"===m)return e.skipToEnd(),"comment";if(e.match(/^-?[0-9\.]/,!1)){var v=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(v=!0),e.match(/^-?\d+\.\d*/)&&(v=!0),e.match(/^-?\.\d+/)&&(v=!0),v)return"."==e.peek()&&e.backUp(1),"number";var y=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(y=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(y=!0),e.match(/^-?0(?![\dx])/i)&&(y=!0),y)return"number"}if(e.match(d))return t.tokenize=h(e.current(),!1,"string"),t.tokenize(e,t);if(e.match(f)){if("/"!=e.current()||e.match(/^.*\//,!1))return t.tokenize=h(e.current(),!0,"string-2"),t.tokenize(e,t);e.backUp(1)}return e.match(i)||e.match(l)?"operator":e.match(o)?"punctuation":e.match(p)?"atom":e.match(s)||t.prop&&e.match(a)?"property":e.match(u)?"keyword":e.match(a)?"variable":(e.next(),n)}function h(e,r,i){return function(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\/\\]/),o.eat("\\")){if(o.next(),r&&o.eol())return i}else{if(o.match(e))return a.tokenize=m,i;o.eat(/['"\/]/)}return r&&(t.singleLineStringErrors?i=n:a.tokenize=m),i}}function g(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=m;break}e.eatWhile("#")}return"comment"}function v(t,n,r){r=r||"coffee";for(var i=0,o=!1,a=null,s=n.scope;s;s=s.prev)if("coffee"===s.type||"}"==s.type){i=s.offset+e.indentUnit;break}"coffee"!==r?(o=null,a=t.column()+t.current().length):n.scope.align&&(n.scope.align=!1),n.scope={offset:i,type:r,prev:n.scope,align:o,alignOffset:a}}function b(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var n=e.indentation(),r=!1,i=t.scope;i;i=i.prev)if(n===i.offset){r=!0;break}if(!r)return!0;for(;t.scope.prev&&t.scope.offset!==n;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}var y={startState:function(e){return{tokenize:m,scope:{offset:e||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var r=null===t.scope.align&&t.scope;r&&e.sol()&&(r.align=!1);var i=function(e,t){var r=t.tokenize(e,t),i=e.current();"return"===i&&(t.dedent=!0),(("->"===i||"=>"===i)&&e.eol()||"indent"===r)&&v(e,t);var o="[({".indexOf(i);if(-1!==o&&v(e,t,"])}".slice(o,o+1)),c.exec(i)&&v(e,t),"then"==i&&b(e,t),"dedent"===r&&b(e,t))return n;if(-1!==(o="])}".indexOf(i))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==i&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),r}(e,t);return i&&"comment"!=i&&(r&&(r.align=!0),t.prop="punctuation"==i&&"."==e.current()),i},indent:function(e,t){if(e.tokenize!=m)return 0;var n=e.scope,r=t&&"])}".indexOf(t.charAt(0))>-1;if(r)for(;"coffee"==n.type&&n.prev;)n=n.prev;var i=r&&n.type===t.charAt(0);return n.align?n.alignOffset-(i?1:0):(i?n.prev:n).offset},lineComment:"#",fold:"indent"};return y}),e.defineMIME("application/vnd.coffeescript","coffeescript"),e.defineMIME("text/x-coffeescript","coffeescript"),e.defineMIME("text/coffeescript","coffeescript")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("markdown",function(t,n){var r=e.getMode(t,"text/html"),i="null"==r.name;void 0===n.highlightFormatting&&(n.highlightFormatting=!1),void 0===n.maxBlockquoteDepth&&(n.maxBlockquoteDepth=0),void 0===n.taskLists&&(n.taskLists=!1),void 0===n.strikethrough&&(n.strikethrough=!1),void 0===n.emoji&&(n.emoji=!1),void 0===n.fencedCodeBlockHighlighting&&(n.fencedCodeBlockHighlighting=!0),void 0===n.xml&&(n.xml=!0),void 0===n.tokenTypeOverrides&&(n.tokenTypeOverrides={});var o={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var a in o)o.hasOwnProperty(a)&&n.tokenTypeOverrides[a]&&(o[a]=n.tokenTypeOverrides[a]);var s=/^([*\-_])(?:\s*\1){2,}\s*$/,l=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,c=/^\[(x| )\](?=\s)/i,u=n.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ *(?:\={1,}|-{1,})\s*$/,f=/^[^#!\[\]*_\\<>` "'(~:]+/,p=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,m=/^\s*\[[^\]]+?\]:.*$/,h=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/;function g(e,t,n){return t.f=t.inline=n,n(e,t)}function v(e,t,n){return t.f=t.block=n,n(e,t)}function b(t){if(t.linkTitle=!1,t.linkHref=!1,t.linkText=!1,t.em=!1,t.strong=!1,t.strikethrough=!1,t.quote=0,t.indentedCode=!1,t.f==k){var n=i;if(!n){var o=e.innerMode(r,t.htmlState);n="xml"==o.mode.name&&null===o.state.tagStart&&!o.state.context&&o.state.tokenize.isInText}n&&(t.f=S,t.block=y,t.htmlState=null)}return t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.prevLine=t.thisLine,t.thisLine={stream:null},null}function y(r,i){var a,f=r.column()===i.indentation,h=!(a=i.prevLine.stream)||!/\S/.test(a.string),v=i.indentedCode,b=i.prevLine.hr,y=!1!==i.list,k=(i.listStack[i.listStack.length-1]||0)+3;i.indentedCode=!1;var _=i.indentation;if(null===i.indentationDiff&&(i.indentationDiff=i.indentation,y)){for(i.em=!1,i.strong=!1,i.code=!1,i.strikethrough=!1,i.list=null;_=4&&(v||i.prevLine.fencedCodeEnd||i.prevLine.header||h))return r.skipToEnd(),i.indentedCode=!0,o.code;if(r.eatSpace())return null;if(f&&i.indentation<=k&&(T=r.match(u))&&T[1].length<=6)return i.quote=0,i.header=T[1].length,i.thisLine.header=!0,n.highlightFormatting&&(i.formatting="header"),i.f=i.inline,w(i);if(i.indentation<=k&&r.eat(">"))return i.quote=f?1:i.quote+1,n.highlightFormatting&&(i.formatting="quote"),r.eatSpace(),w(i);if(!E&&!i.setext&&f&&i.indentation<=k&&(T=r.match(l))){var C=T[1]?"ol":"ul";return i.indentation=_+r.current().length,i.list=!0,i.quote=0,i.listStack.push(i.indentation),n.taskLists&&r.match(c,!1)&&(i.taskList=!0),i.f=i.inline,n.highlightFormatting&&(i.formatting=["list","list-"+C]),w(i)}return f&&i.indentation<=k&&(T=r.match(p,!0))?(i.quote=0,i.fencedEndRE=new RegExp(T[1]+"+ *$"),i.localMode=n.fencedCodeBlockHighlighting&&function(n){if(e.findModeByName){var r=e.findModeByName(n);r&&(n=r.mime||r.mimes[0])}var i=e.getMode(t,n);return"null"==i.name?null:i}(T[2]),i.localMode&&(i.localState=e.startState(i.localMode)),i.f=i.block=x,n.highlightFormatting&&(i.formatting="code-block"),i.code=-1,w(i)):i.setext||!(S&&y||i.quote||!1!==i.list||i.code||E||m.test(r.string))&&(T=r.lookAhead(1))&&(T=T.match(d))?(i.setext?(i.header=i.setext,i.setext=0,r.skipToEnd(),n.highlightFormatting&&(i.formatting="header")):(i.header="="==T[0].charAt(0)?1:2,i.setext=i.header),i.thisLine.header=!0,i.f=i.inline,w(i)):E?(r.skipToEnd(),i.hr=!0,i.thisLine.hr=!0,o.hr):"["===r.peek()?g(r,i,M):g(r,i,i.inline)}function k(t,n){var o=r.token(t,n.htmlState);if(!i){var a=e.innerMode(r,n.htmlState);("xml"==a.mode.name&&null===a.state.tagStart&&!a.state.context&&a.state.tokenize.isInText||n.md_inside&&t.current().indexOf(">")>-1)&&(n.f=S,n.block=y,n.htmlState=null)}return o}function x(e,t){var r,i=t.listStack[t.listStack.length-1]||0,a=t.indentation=e.quote?t.push(o.formatting+"-"+e.formatting[r]+"-"+e.quote):t.push("error"))}if(e.taskOpen)return t.push("meta"),t.length?t.join(" "):null;if(e.taskClosed)return t.push("property"),t.length?t.join(" "):null;if(e.linkHref?t.push(o.linkHref,"url"):(e.strong&&t.push(o.strong),e.em&&t.push(o.em),e.strikethrough&&t.push(o.strikethrough),e.emoji&&t.push(o.emoji),e.linkText&&t.push(o.linkText),e.code&&t.push(o.code),e.image&&t.push(o.image),e.imageAltText&&t.push(o.imageAltText,"link"),e.imageMarker&&t.push(o.imageMarker)),e.header&&t.push(o.header,o.header+"-"+e.header),e.quote&&(t.push(o.quote),!n.maxBlockquoteDepth||n.maxBlockquoteDepth>=e.quote?t.push(o.quote+"-"+e.quote):t.push(o.quote+"-"+n.maxBlockquoteDepth)),!1!==e.list){var i=(e.listStack.length-1)%3;i?1===i?t.push(o.list2):t.push(o.list3):t.push(o.list1)}return e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b")),t.length?t.join(" "):null}function _(e,t){if(e.match(f,!0))return w(t)}function S(t,i){var a=i.text(t,i);if(void 0!==a)return a;if(i.list)return i.list=null,w(i);if(i.taskList){var s=" "===t.match(c,!0)[1];return s?i.taskOpen=!0:i.taskClosed=!0,n.highlightFormatting&&(i.formatting="task"),i.taskList=!1,w(i)}if(i.taskOpen=!1,i.taskClosed=!1,i.header&&t.match(/^#+$/,!0))return n.highlightFormatting&&(i.formatting="header"),w(i);var l=t.next();if(i.linkTitle){i.linkTitle=!1;var u=l;"("===l&&(u=")");var d="^\\s*(?:[^"+(u=(u+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1"))+"\\\\]+|\\\\\\\\|\\\\.)"+u;if(t.match(new RegExp(d),!0))return o.linkHref}if("`"===l){var f=i.formatting;n.highlightFormatting&&(i.formatting="code"),t.eatWhile("`");var p=t.current().length;if(0!=i.code||i.quote&&1!=p){if(p==i.code){var m=w(i);return i.code=0,m}return i.formatting=f,w(i)}return i.code=p,w(i)}if(i.code)return w(i);if("\\"===l&&(t.next(),n.highlightFormatting)){var g=w(i),b=o.formatting+"-escape";return g?g+" "+b:b}if("!"===l&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return i.imageMarker=!0,i.image=!0,n.highlightFormatting&&(i.formatting="image"),w(i);if("["===l&&i.imageMarker&&t.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return i.imageMarker=!1,i.imageAltText=!0,n.highlightFormatting&&(i.formatting="image"),w(i);if("]"===l&&i.imageAltText){n.highlightFormatting&&(i.formatting="image");var g=w(i);return i.imageAltText=!1,i.image=!1,i.inline=i.f=T,g}if("["===l&&!i.image)return i.linkText&&t.match(/^.*?\]/)?w(i):(i.linkText=!0,n.highlightFormatting&&(i.formatting="link"),w(i));if("]"===l&&i.linkText){n.highlightFormatting&&(i.formatting="link");var g=w(i);return i.linkText=!1,i.inline=i.f=t.match(/\(.*?\)| ?\[.*?\]/,!1)?T:S,g}if("<"===l&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){i.f=i.inline=E,n.highlightFormatting&&(i.formatting="link");var g=w(i);return g?g+=" ":g="",g+o.linkInline}if("<"===l&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){i.f=i.inline=E,n.highlightFormatting&&(i.formatting="link");var g=w(i);return g?g+=" ":g="",g+o.linkEmail}if(n.xml&&"<"===l&&t.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var y=t.string.indexOf(">",t.pos);if(-1!=y){var x=t.string.substring(t.start,y);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(i.md_inside=!0)}return t.backUp(1),i.htmlState=e.startState(r),v(t,i,k)}if(n.xml&&"<"===l&&t.match(/^\/\w*?>/))return i.md_inside=!1,"tag";if("*"===l||"_"===l){for(var _=1,C=1==t.pos?" ":t.string.charAt(t.pos-2);_<3&&t.eat(l);)_++;var M=t.peek()||" ",I=!/\s/.test(M)&&(!h.test(M)||/\s/.test(C)||h.test(C)),A=!/\s/.test(C)&&(!h.test(C)||/\s/.test(M)||h.test(M)),z=null,L=null;if(_%2&&(i.em||!I||"*"!==l&&A&&!h.test(C)?i.em!=l||!A||"*"!==l&&I&&!h.test(M)||(z=!1):z=!0),_>1&&(i.strong||!I||"*"!==l&&A&&!h.test(C)?i.strong!=l||!A||"*"!==l&&I&&!h.test(M)||(L=!1):L=!0),null!=L||null!=z){n.highlightFormatting&&(i.formatting=null==z?"strong":null==L?"em":"strong em"),!0===z&&(i.em=l),!0===L&&(i.strong=l);var m=w(i);return!1===z&&(i.em=!1),!1===L&&(i.strong=!1),m}}else if(" "===l&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return w(i);t.backUp(1)}if(n.strikethrough)if("~"===l&&t.eatWhile(l)){if(i.strikethrough){n.highlightFormatting&&(i.formatting="strikethrough");var m=w(i);return i.strikethrough=!1,m}if(t.match(/^[^\s]/,!1))return i.strikethrough=!0,n.highlightFormatting&&(i.formatting="strikethrough"),w(i)}else if(" "===l&&t.match(/^~~/,!0)){if(" "===t.peek())return w(i);t.backUp(2)}if(n.emoji&&":"===l&&t.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){i.emoji=!0,n.highlightFormatting&&(i.formatting="emoji");var O=w(i);return i.emoji=!1,O}return" "===l&&(t.match(/^ +$/,!1)?i.trailingSpace++:i.trailingSpace&&(i.trailingSpaceNewLine=!0)),w(i)}function E(e,t){var r=e.next();if(">"===r){t.f=t.inline=S,n.highlightFormatting&&(t.formatting="link");var i=w(t);return i?i+=" ":i="",i+o.linkInline}return e.match(/^[^>]+/,!0),o.linkInline}function T(e,t){if(e.eatSpace())return null;var r,i=e.next();return"("===i||"["===i?(t.f=t.inline=(r="("===i?")":"]",function(e,t){var i=e.next();if(i===r){t.f=t.inline=S,n.highlightFormatting&&(t.formatting="link-string");var o=w(t);return t.linkHref=!1,o}return e.match(C[r]),t.linkHref=!0,w(t)}),n.highlightFormatting&&(t.formatting="link-string"),t.linkHref=!0,w(t)):"error"}var C={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function M(e,t){return e.match(/^([^\]\\]|\\.)*\]:/,!1)?(t.f=I,e.next(),n.highlightFormatting&&(t.formatting="link"),t.linkText=!0,w(t)):g(e,t,S)}function I(e,t){if(e.match(/^\]:/,!0)){t.f=t.inline=A,n.highlightFormatting&&(t.formatting="link");var r=w(t);return t.linkText=!1,r}return e.match(/^([^\]\\]|\\.)+/,!0),o.linkText}function A(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),void 0===e.peek()?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),t.f=t.inline=S,o.linkHref+" url")}var z={startState:function(){return{f:y,prevLine:{stream:null},thisLine:{stream:null},block:y,htmlState:null,indentation:0,inline:S,text:_,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(r,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkText:t.linkText,linkTitle:t.linkTitle,linkHref:t.linkHref,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,emoji:t.emoji,header:t.header,setext:t.setext,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedEndRE:t.fencedEndRE}},token:function(e,t){if(t.formatting=!1,e!=t.thisLine.stream){if(t.header=0,t.hr=!1,e.match(/^\s*$/,!0))return b(t),null;if(t.prevLine=t.thisLine,t.thisLine={stream:e},t.taskList=!1,t.trailingSpace=0,t.trailingSpaceNewLine=!1,!t.localState&&(t.f=t.block,t.f!=k)){var n=e.match(/^\s*/,!0)[0].replace(/\t/g," ").length;if(t.indentation=n,t.indentationDiff=null,n>0)return null}}return t.f(e,t)},innerMode:function(e){return e.block==k?{state:e.htmlState,mode:r}:e.localState?{state:e.localState,mode:e.localMode}:{state:e,mode:z}},indent:function(t,n,i){return t.block==k&&r.indent?r.indent(t.htmlState,n,i):t.localState&&t.localMode.indent?t.localMode.indent(t.localState,n,i):e.Pass},blankLine:b,getType:w,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return z},"xml"),e.defineMIME("text/markdown","markdown"),e.defineMIME("text/x-markdown","markdown")}(n(0),n(19),n(203))},function(e,t,n){!function(e){"use strict";e.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),e.defineMode("handlebars",function(t,n){var r=e.getMode(t,"handlebars-tags");return n&&n.base?e.multiplexingMode(e.getMode(t,n.base),{open:"{{",close:"}}",mode:r,parseDelimiters:!0}):r}),e.defineMIME("text/x-handlebars-template","handlebars")}(n(0),n(23),n(37))},function(e,t,n){!function(e){"use strict";e.multiplexingMode=function(t){var n=Array.prototype.slice.call(arguments,1);function r(e,t,n,r){if("string"==typeof t){var i=e.indexOf(t,n);return r&&i>-1?i+t.length:i}var o=t.exec(n?e.slice(n):e);return o?o.index+n+(r?o[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null}},copyState:function(n){return{outer:e.copyState(t,n.outer),innerActive:n.innerActive,inner:n.innerActive&&e.copyState(n.innerActive.mode,n.inner)}},token:function(i,o){if(o.innerActive){var a=o.innerActive,s=i.string;if(!a.close&&i.sol())return o.innerActive=o.inner=null,this.token(i,o);var l=a.close?r(s,a.close,i.pos,a.parseDelimiters):-1;if(l==i.pos&&!a.parseDelimiters)return i.match(a.close),o.innerActive=o.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";l>-1&&(i.string=s.slice(0,l));var c=a.mode.token(i,o.inner);return l>-1&&(i.string=s),l==i.pos&&a.parseDelimiters&&(o.innerActive=o.inner=null),a.innerStyle&&(c=c?c+" "+a.innerStyle:a.innerStyle),c}for(var u=1/0,s=i.string,d=0;d?@\\^|~:]/,u=/[(),;[\]`{}]/,d=/[ \t\v\f]/;function f(e,t){if(e.eatWhile(d))return null;var m=e.next();if(u.test(m)){if("{"==m&&e.eat("-")){var h="comment";return e.eat("#")&&(h="meta"),n(e,t,function e(t,n){return 0==n?f:function(r,i){for(var o=n;!r.eol();){var a=r.next();if("{"==a&&r.eat("-"))++o;else if("-"==a&&r.eat("}")&&0==--o)return i(f),t}return i(e(t,o)),t}}(h,1))}return null}if("'"==m)return e.eat("\\"),e.next(),e.eat("'")?"string":"string error";if('"'==m)return n(e,t,p);if(i.test(m))return e.eatWhile(l),e.eat(".")?"qualifier":"variable-2";if(r.test(m))return e.eatWhile(l),"variable";if(o.test(m)){if("0"==m){if(e.eat(/[xX]/))return e.eatWhile(a),"integer";if(e.eat(/[oO]/))return e.eatWhile(s),"number"}e.eatWhile(o);var h="number";return e.match(/^\.\d+/)&&(h="number"),e.eat(/[eE]/)&&(h="number",e.eat(/[-+]/),e.eatWhile(o)),h}if("."==m&&e.eat("."))return"keyword";if(c.test(m)){if("-"==m&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(c)))return e.skipToEnd(),"comment";var h="variable";return":"==m&&(h="variable-2"),e.eatWhile(c),h}return"error"}function p(e,t){for(;!e.eol();){var n=e.next();if('"'==n)return t(f),"string";if("\\"==n){if(e.eol()||e.eat(d))return t(m),"string";e.eat("&")||e.next()}}return t(f),"string error"}function m(e,t){return e.eat("\\")?n(e,t,p):(e.next(),t(f),"error")}var h=function(){var e={};function n(t){return function(){for(var n=0;n","@","~","=>"),n("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),n("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),n("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3");var r=t.overrideKeywords;if(r)for(var i in r)r.hasOwnProperty(i)&&(e[i]=r[i]);return e}();return{startState:function(){return{f:f}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,function(e){t.f=e}),r=e.current();return h.hasOwnProperty(r)?h[r]:n},blockCommentStart:"{-",blockCommentEnd:"-}",lineComment:"--"}}),e.defineMIME("text/x-haskell","haskell")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("pug",function(t){var n="keyword",r="meta",i="builtin",o="qualifier",a={"{":"}","(":")","[":"]"},s=e.getMode(t,"javascript");function l(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=e.startState(s),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}function c(e,t){if(e.match("#{"))return t.isInterpolating=!0,t.interpolationNesting=0,"punctuation"}function u(n,r){var i;if(n.match(/^:([\w\-]+)/))return t&&t.innerModes&&(i=t.innerModes(n.current().substring(1))),i||(i=n.current().substring(1)),"string"==typeof i&&(i=e.getMode(t,i)),d(n,r,i),"atom"}function d(n,r,i){i=e.mimeModes[i]||i,i=t.innerModes&&t.innerModes(i)||i,i=e.mimeModes[i]||i,i=e.getMode(t,i),r.indentOf=n.indentation(),i&&"null"!==i.name?r.innerMode=i:r.indentToken="string"}function f(t,n,r){if(t.indentation()>n.indentOf||n.innerModeForLine&&!t.sol()||r)return n.innerMode?(n.innerState||(n.innerState=n.innerMode.startState?e.startState(n.innerMode,t.indentation()):{}),t.hideFirstChars(n.indentOf+2,function(){return n.innerMode.token(t,n.innerState)||!0})):(t.skipToEnd(),n.indentToken);t.sol()&&(n.indentOf=1/0,n.indentToken=null,n.innerMode=null,n.innerState=null)}return l.prototype.copy=function(){var t=new l;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=e.copyState(s,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=e.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new l},copyState:function(e){return e.copy()},token:function(t,l){var p=f(t,l)||function(e,t){if(e.sol()&&(t.restOfLine=""),t.restOfLine){e.skipToEnd();var n=t.restOfLine;return t.restOfLine="",n}}(t,l)||function(e,t){if(t.isInterpolating){if("}"===e.peek()){if(t.interpolationNesting--,t.interpolationNesting<0)return e.next(),t.isInterpolating=!1,"punctuation"}else"{"===e.peek()&&t.interpolationNesting++;return s.token(e,t.jsState)||!0}}(t,l)||function(e,t){if(t.isIncludeFiltered){var n=u(e,t);return t.isIncludeFiltered=!1,t.restOfLine="string",n}}(t,l)||function(e,t){if(t.isEach){if(e.match(/^ in\b/))return t.javaScriptLine=!0,t.isEach=!1,n;if(e.sol()||e.eol())t.isEach=!1;else if(e.next()){for(;!e.match(/^ in\b/,!1)&&e.next(););return"variable"}}}(t,l)||function t(n,r){if(r.isAttrs){if(a[n.peek()]&&r.attrsNest.push(a[n.peek()]),r.attrsNest[r.attrsNest.length-1]===n.peek())r.attrsNest.pop();else if(n.eat(")"))return r.isAttrs=!1,"punctuation";if(r.inAttributeName&&n.match(/^[^=,\)!]+/))return"="!==n.peek()&&"!"!==n.peek()||(r.inAttributeName=!1,r.jsState=e.startState(s),"script"===r.lastTag&&"type"===n.current().trim().toLowerCase()?r.attributeIsType=!0:r.attributeIsType=!1),"attribute";var i=s.token(n,r.jsState);if(r.attributeIsType&&"string"===i&&(r.scriptType=n.current().toString()),0===r.attrsNest.length&&("string"===i||"variable"===i||"keyword"===i))try{return Function("","var x "+r.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),r.inAttributeName=!0,r.attrValue="",n.backUp(n.current().length),t(n,r)}catch(e){}return r.attrValue+=n.current(),i||!0}}(t,l)||function(e,t){if(e.sol()&&(t.javaScriptLine=!1,t.javaScriptLineExcludesColon=!1),t.javaScriptLine){if(t.javaScriptLineExcludesColon&&":"===e.peek())return t.javaScriptLine=!1,void(t.javaScriptLineExcludesColon=!1);var n=s.token(e,t.jsState);return e.eol()&&(t.javaScriptLine=!1),n||!0}}(t,l)||function(e,t){if(t.javaScriptArguments){if(0===t.javaScriptArgumentsDepth&&"("!==e.peek())return void(t.javaScriptArguments=!1);if("("===e.peek()?t.javaScriptArgumentsDepth++:")"===e.peek()&&t.javaScriptArgumentsDepth--,0===t.javaScriptArgumentsDepth)return void(t.javaScriptArguments=!1);var n=s.token(e,t.jsState);return n||!0}}(t,l)||function(e,t){if(t.mixinCallAfter)return t.mixinCallAfter=!1,e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),!0}(t,l)||function(e){if(e.match(/^yield\b/))return"keyword"}(t)||function(e){if(e.match(/^(?:doctype) *([^\n]+)?/))return r}(t)||c(t,l)||function(e,t){if(e.match(/^case\b/))return t.javaScriptLine=!0,n}(t,l)||function(e,t){if(e.match(/^when\b/))return t.javaScriptLine=!0,t.javaScriptLineExcludesColon=!0,n}(t,l)||function(e){if(e.match(/^default\b/))return n}(t)||function(e,t){if(e.match(/^extends?\b/))return t.restOfLine="string",n}(t,l)||function(e,t){if(e.match(/^append\b/))return t.restOfLine="variable",n}(t,l)||function(e,t){if(e.match(/^prepend\b/))return t.restOfLine="variable",n}(t,l)||function(e,t){if(e.match(/^block\b *(?:(prepend|append)\b)?/))return t.restOfLine="variable",n}(t,l)||function(e,t){if(e.match(/^include\b/))return t.restOfLine="string",n}(t,l)||function(e,t){if(e.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&e.match("include"))return t.isIncludeFiltered=!0,n}(t,l)||function(e,t){if(e.match(/^mixin\b/))return t.javaScriptLine=!0,n}(t,l)||function(e,t){return e.match(/^\+([-\w]+)/)?(e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),"variable"):e.match(/^\+#{/,!1)?(e.next(),t.mixinCallAfter=!0,c(e,t)):void 0}(t,l)||function(e,t){if(e.match(/^(if|unless|else if|else)\b/))return t.javaScriptLine=!0,n}(t,l)||function(e,t){if(e.match(/^(- *)?(each|for)\b/))return t.isEach=!0,n}(t,l)||function(e,t){if(e.match(/^while\b/))return t.javaScriptLine=!0,n}(t,l)||function(e,t){var n;if(n=e.match(/^(\w(?:[-:\w]*\w)?)\/?/))return t.lastTag=n[1].toLowerCase(),"script"===t.lastTag&&(t.scriptType="application/javascript"),"tag"}(t,l)||u(t,l)||function(e,t){if(e.match(/^(!?=|-)/))return t.javaScriptLine=!0,"punctuation"}(t,l)||function(e){if(e.match(/^#([\w-]+)/))return i}(t)||function(e){if(e.match(/^\.([\w-]+)/))return o}(t)||function(e,t){if("("==e.peek())return e.next(),t.isAttrs=!0,t.attrsNest=[],t.inAttributeName=!0,t.attrValue="",t.attributeIsType=!1,"punctuation"}(t,l)||function(e,t){if(e.match(/^&attributes\b/))return t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0,"keyword"}(t,l)||function(e){if(e.sol()&&e.eatSpace())return"indent"}(t)||function(e,t){return e.match(/^(?:\| ?| )([^\n]+)/)?"string":e.match(/^(<[^\n]*)/,!1)?(d(e,t,"htmlmixed"),t.innerModeForLine=!0,f(e,t,!0)):void 0}(t,l)||function(e,t){if(e.match(/^ *\/\/(-)?([^\n]*)/))return t.indentOf=e.indentation(),t.indentToken="comment","comment"}(t,l)||function(e){if(e.match(/^: */))return"colon"}(t)||function(e,t){if(e.eat(".")){var n=null;return"script"===t.lastTag&&-1!=t.scriptType.toLowerCase().indexOf("javascript")?n=t.scriptType.toLowerCase().replace(/"|'/g,""):"style"===t.lastTag&&(n="css"),d(e,t,n),"dot"}}(t,l)||function(e){return e.next(),null}(t);return!0===p?null:p}}},"javascript","css","htmlmixed"),e.defineMIME("text/x-pug","pug"),e.defineMIME("text/x-jade","pug")}(n(0),n(13),n(18),n(6))},function(e,t,n){!function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n,r=t(["and","or","not","is"]),i=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],o=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function a(e){return e.scopes[e.scopes.length-1]}e.registerHelper("hintWords","python",i.concat(o)),e.defineMode("python",function(n,s){for(var l="error",c=s.delimiters||s.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,u=[s.singleOperators,s.doubleOperators,s.doubleDelimiters,s.tripleDelimiters,s.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/],d=0;dr?w(t):i0&&_(e,t)&&(o+=" "+l),o}return x(e,t)}function x(e,t){if(e.eatSpace())return null;if(e.match(/^#.*/))return"comment";if(e.match(/^[0-9\.]/,!1)){var n=!1;if(e.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(n=!0),e.match(/^[\d_]+\.\d*/)&&(n=!0),e.match(/^\.\d+/)&&(n=!0),n)return e.eat(/J/i),"number";var i=!1;if(e.match(/^0x[0-9a-f_]+/i)&&(i=!0),e.match(/^0b[01_]+/i)&&(i=!0),e.match(/^0o[0-7_]+/i)&&(i=!0),e.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(e.eat(/J/i),i=!0),e.match(/^0(?![\dx])/i)&&(i=!0),i)return e.eat(/L/i),"number"}if(e.match(v)){var o=-1!==e.current().toLowerCase().indexOf("f");return o?(t.tokenize=function(e,t){for(;"rubf".indexOf(e.charAt(0).toLowerCase())>=0;)e=e.substr(1);var n=1==e.length,r="string";function i(e){return function(t,n){var r=x(t,n);return"punctuation"==r&&("{"==t.current()?n.tokenize=i(e+1):"}"==t.current()&&(n.tokenize=e>1?i(e-1):o)),r}}function o(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\{\}\\]/),o.eat("\\")){if(o.next(),n&&o.eol())return r}else{if(o.match(e))return a.tokenize=t,r;if(o.match("{{"))return r;if(o.match("{",!1))return a.tokenize=i(0),o.current()?r:a.tokenize(o,a);if(o.match("}}"))return r;if(o.match("}"))return l;o.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;a.tokenize=t}return r}return o.isString=!0,o}(e.current(),t.tokenize),t.tokenize(e,t)):(t.tokenize=function(e,t){for(;"rubf".indexOf(e.charAt(0).toLowerCase())>=0;)e=e.substr(1);var n=1==e.length,r="string";function i(i,o){for(;!i.eol();)if(i.eatWhile(/[^'"\\]/),i.eat("\\")){if(i.next(),n&&i.eol())return r}else{if(i.match(e))return o.tokenize=t,r;i.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;o.tokenize=t}return r}return i.isString=!0,i}(e.current(),t.tokenize),t.tokenize(e,t))}for(var a=0;a1&&a(t).offset>n;){if("py"!=a(t).type)return!0;t.scopes.pop()}return a(t).offset!=n}function S(e,t){e.sol()&&(t.beginningOfLine=!0);var n=t.tokenize(e,t),r=e.current();if(t.beginningOfLine&&"@"==r)return e.match(g,!1)?"meta":h?"operator":l;if(/\S/.test(r)&&(t.beginningOfLine=!1),"variable"!=n&&"builtin"!=n||"meta"!=t.lastToken||(n="meta"),"pass"!=r&&"return"!=r||(t.dedent+=1),"lambda"==r&&(t.lambda=!0),":"!=r||t.lambda||"py"!=a(t).type||w(t),1==r.length&&!/string|comment/.test(n)){var i="[({".indexOf(r);if(-1!=i&&function(e,t,n){var r=e.match(/^([\s\[\{\(]|#.*)*$/,!1)?null:e.column()+1;t.scopes.push({offset:t.indent+f,type:n,align:r})}(e,t,"])}".slice(i,i+1)),-1!=(i="])}".indexOf(r))){if(a(t).type!=r)return l;t.indent=t.scopes.pop().offset-f}}return t.dedent>0&&e.eol()&&"py"==a(t).type&&(t.scopes.length>1&&t.scopes.pop(),t.dedent-=1),n}var E={startState:function(e){return{tokenize:k,scopes:[{offset:e||0,type:"py",align:null}],indent:e||0,lastToken:null,lambda:!1,dedent:0}},token:function(e,t){var n=t.errorToken;n&&(t.errorToken=!1);var r=S(e,t);return r&&"comment"!=r&&(t.lastToken="keyword"==r||"punctuation"==r?e.current():r),"punctuation"==r&&(r=null),e.eol()&&t.lambda&&(t.lambda=!1),n?r+" "+l:r},indent:function(t,n){if(t.tokenize!=k)return t.tokenize.isString?e.Pass:0;var r=a(t),i=r.type==n.charAt(0);return null!=r.align?r.align-(i?1:0):r.offset-(i?f:0)},electricInput:/^\s*[\}\]\)]$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return E}),e.defineMIME("text/x-python","python"),e.defineMIME("text/x-cython",{name:"python",extra_keywords:(n="by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE",n.split(" "))})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("stex",function(e,t){function n(e,t){e.cmdState.push(t)}function r(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function i(e,t,n){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=n,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};function a(e,t){e.f=t}function s(e,t){var i;if(e.match(/^\\[a-zA-Z@]+/)){var s=e.current().slice(1);return i=new(i=o[s]||o.DEFAULT),n(t,i),a(t,c),i.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(t,function(e,t){return l(e,t,"\\]")}),"keyword";if(e.match("\\("))return a(t,function(e,t){return l(e,t,"\\)")}),"keyword";if(e.match("$$"))return a(t,function(e,t){return l(e,t,"$$")}),"keyword";if(e.match("$"))return a(t,function(e,t){return l(e,t,"$")}),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(i=r(t))?(i.closeBracket(u),a(t,c),"bracket"):"error":"{"==u||"["==u?(i=new(i=o.DEFAULT),n(t,i),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(i=function(e){for(var t=e.cmdState,n=t.length-1;n>=0;n--){var r=t[n];if("DEFAULT"!=r.name)return r}return{styleIdentifier:function(){return null}}}(t)).name&&(i.argument=e.current()),i.styleIdentifier())}function l(e,t,n){if(e.eatSpace())return null;if(n&&e.match(n))return a(t,s),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variable-2";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var r=e.next();return"{"==r||"}"==r||"["==r||"]"==r||"("==r||")"==r?"bracket":"%"==r?(e.skipToEnd(),"comment"):"error"}function c(e,t){var n=e.peek();return"{"==n||"["==n?(r(t).openBracket(n),e.eat(n),a(t,s),"bracket"):/[ \t\r]/.test(n)?(e.eat(n),null):(a(t,s),function(e){var t=e.cmdState.pop();t&&t.closeBracket()}(t),s(e,t))}return o.importmodule=i("importmodule","tag",["string","builtin"]),o.documentclass=i("documentclass","tag",["","atom"]),o.usepackage=i("usepackage","tag",["atom"]),o.begin=i("begin","tag",["atom"]),o.end=i("end","tag",["atom"]),o.label=i("label","tag",["atom"]),o.ref=i("ref","tag",["atom"]),o.eqref=i("eqref","tag",["atom"]),o.cite=i("cite","tag",["atom"]),o.bibitem=i("bibitem","tag",["atom"]),o.Bibitem=i("Bibitem","tag",["atom"]),o.RBibitem=i("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{startState:function(){var e=t.inMathMode?function(e,t){return l(e,t)}:s;return{cmdState:[],f:e}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=s,e.cmdState.length=0},lineComment:"%"}}),e.defineMIME("text/x-stex","stex"),e.defineMIME("text/x-latex","stex")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("sass",function(t){var n,r=e.mimeModes["text/css"],i=r.propertyKeywords||{},o=r.colorKeywords||{},a=r.valueKeywords||{},s=r.fontProperties||{},l=new RegExp("^"+["true","false","null","auto"].join("|")),c=new RegExp("^"+["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"].join("|")),u=/^::?[a-zA-Z_][\w\-]*/;function d(e){return!e.peek()||e.match(/\s+$/,!1)}function f(e,t){var n=e.peek();return")"===n?(e.next(),t.tokenizer=b,"operator"):"("===n?(e.next(),e.eatSpace(),"operator"):"'"===n||'"'===n?(t.tokenizer=m(e.next()),"string"):(t.tokenizer=m(")",!1),"string")}function p(e,t){return function(n,r){return n.sol()&&n.indentation()<=e?(r.tokenizer=b,b(n,r)):(t&&n.skipTo("*/")?(n.next(),n.next(),r.tokenizer=b):n.skipToEnd(),"comment")}}function m(e,t){return null==t&&(t=!0),function n(r,i){var o=r.next(),a=r.peek(),s=r.string.charAt(r.pos-2),l="\\"!==o&&a===e||o===e&&"\\"!==s;return l?(o!==e&&t&&r.next(),d(r)&&(i.cursorHalf=0),i.tokenizer=b,"string"):"#"===o&&"{"===a?(i.tokenizer=h(n),r.next(),"operator"):"string"}}function h(e){return function(t,n){return"}"===t.peek()?(t.next(),n.tokenizer=e,"operator"):b(t,n)}}function g(e){if(0==e.indentCount){e.indentCount++;var n=e.scopes[0].offset,r=n+t.indentUnit;e.scopes.unshift({offset:r})}}function v(e){1!=e.scopes.length&&e.scopes.shift()}function b(e,t){var r=e.peek();if(e.match("/*"))return t.tokenizer=p(e.indentation(),!0),t.tokenizer(e,t);if(e.match("//"))return t.tokenizer=p(e.indentation(),!1),t.tokenizer(e,t);if(e.match("#{"))return t.tokenizer=h(b),"operator";if('"'===r||"'"===r)return e.next(),t.tokenizer=m(r),"string";if(t.cursorHalf){if("#"===r&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return d(e)&&(t.cursorHalf=0),"unit";if(e.match(l))return d(e)&&(t.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=f,d(e)&&(t.cursorHalf=0),"atom";if("$"===r)return e.next(),e.eatWhile(/[\w-]/),d(e)&&(t.cursorHalf=0),"variable-2";if("!"===r)return e.next(),t.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(c))return d(e)&&(t.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return d(e)&&(t.cursorHalf=0),n=e.current().toLowerCase(),a.hasOwnProperty(n)?"atom":o.hasOwnProperty(n)?"keyword":i.hasOwnProperty(n)?(t.prevProp=e.current().toLowerCase(),"property"):"tag";if(d(e))return t.cursorHalf=0,null}else{if("-"===r&&e.match(/^-\w+-/))return"meta";if("."===r){if(e.next(),e.match(/^[\w-]+/))return g(t),"qualifier";if("#"===e.peek())return g(t),"tag"}if("#"===r){if(e.next(),e.match(/^[\w-]+/))return g(t),"builtin";if("#"===e.peek())return g(t),"tag"}if("$"===r)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(l))return"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=f,"atom";if("="===r&&e.match(/^=[\w-]+/))return g(t),"meta";if("+"===r&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===r&&e.match(/@extend/)&&(e.match(/\s*[\w]/)||v(t)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return g(t),"def";if("@"===r)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){n=e.current().toLowerCase();var y=t.prevProp+"-"+n;return i.hasOwnProperty(y)?"property":i.hasOwnProperty(n)?(t.prevProp=n,"property"):s.hasOwnProperty(n)?"property":"tag"}return e.match(/ *:/,!1)?(g(t),t.cursorHalf=1,t.prevProp=e.current().toLowerCase(),"property"):e.match(/ *,/,!1)?"tag":(g(t),"tag")}if(":"===r)return e.match(u)?"variable-3":(e.next(),t.cursorHalf=1,"operator")}return e.match(c)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:b,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,n){var r=function(e,n){e.sol()&&(n.indentCount=0);var r=n.tokenizer(e,n),i=e.current();if("@return"!==i&&"}"!==i||v(n),null!==r){for(var o=e.pos-i.length,a=o+t.indentUnit*n.indentCount,s=[],l=0;l]=?|\?:|\~)/,O=m(u),N=h(d),R=new RegExp(/^\-(moz|ms|o|webkit)-/i),D=h(f),P="",$={};k.length=0?r:y,e.context=new U(n,t.indentation()+r,e.context),n}function B(e,t){var n=e.context.indent-y;return t=t||!1,e.context=e.context.prev,t&&(e.context.indent=n),e.context.type}function H(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return function(e,t,n){return $[n.context.type](e,t,n)}(e,t,n)}function G(e){return e.toLowerCase()in x}function V(e){return(e=e.toLowerCase())in _||e in z}function Z(e){return e.toLowerCase()in N}function K(e){return e.toLowerCase().match(R)}function Y(e){var t=e.toLowerCase(),n="variable-2";return G(e)?n="tag":Z(e)?n="block-keyword":V(e)?n="property":t in E||t in D?n="atom":"return"==t||t in T?n="keyword":e.match(/^[A-Z]/)&&(n="string"),n}function X(e,t){return te(t)&&("{"==e||"]"==e||"hash"==e||"qualifier"==e)||"block-mixin"==e}function Q(e,t){return"{"==e&&t.match(/^\s*\$?[\w-]+/i,!1)}function J(e,t){return":"==e&&t.match(/^[a-z-]+/,!1)}function ee(e){return e.sol()||e.string.match(new RegExp("^\\s*"+e.current().replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")))}function te(e){return e.eol()||e.match(/^\s*$/,!1)}function ne(e){var t=/^\s*[-_]*[a-z0-9]+[\w-]*/i,n="string"==typeof e?e.match(t):e.string.match(t);return n?n[0].replace(/^\s*/,""):""}return $.block=function(e,t,n){if("comment"==e&&ee(t)||","==e&&te(t)||"mixin"==e)return W(n,t,"block",0);if(Q(e,t))return W(n,t,"interpolation");if(te(t)&&"]"==e&&!/^\s*(\.|#|:|\[|\*|&)/.test(t.string)&&!G(ne(t)))return W(n,t,"block",0);if(X(e,t))return W(n,t,"block");if("}"==e&&te(t))return W(n,t,"block",0);if("variable-name"==e)return t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||Z(ne(t))?W(n,t,"variableName"):W(n,t,"variableName",0);if("="==e)return te(t)||Z(ne(t))?W(n,t,"block"):W(n,t,"block",0);if("*"==e&&(te(t)||t.match(/\s*(,|\.|#|\[|:|{)/,!1)))return b="tag",W(n,t,"block");if(J(e,t))return W(n,t,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(e))return W(n,t,te(t)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return W(n,t,"keyframes");if(/@extends?/.test(e))return W(n,t,"extend",0);if(e&&"@"==e.charAt(0))return t.indentation()>0&&V(t.current().slice(1))?(b="variable-2","block"):/(@import|@require|@charset)/.test(e)?W(n,t,"block",0):W(n,t,"block");if("reference"==e&&te(t))return W(n,t,"block");if("("==e)return W(n,t,"parens");if("vendor-prefixes"==e)return W(n,t,"vendorPrefixes");if("word"==e){var r=t.current();if("property"==(b=Y(r)))return ee(t)?W(n,t,"block",0):(b="atom","block");if("tag"==b){if(/embed|menu|pre|progress|sub|table/.test(r)&&V(ne(t)))return b="atom","block";if(t.string.match(new RegExp("\\[\\s*"+r+"|"+r+"\\s*\\]")))return b="atom","block";if(w.test(r)&&(ee(t)&&t.string.match(/=/)||!ee(t)&&!t.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!G(ne(t))))return b="variable-2",Z(ne(t))?"block":W(n,t,"block",0);if(te(t))return W(n,t,"block")}if("block-keyword"==b)return b="keyword",t.current(/(if|unless)/)&&!ee(t)?"block":W(n,t,"block");if("return"==r)return W(n,t,"block",0);if("variable-2"==b&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return W(n,t,"block")}return n.context.type},$.parens=function(e,t,n){if("("==e)return W(n,t,"parens");if(")"==e)return"parens"==n.context.prev.type?B(n):t.string.match(/^[a-z][\w-]*\(/i)&&te(t)||Z(ne(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(ne(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&G(ne(t))?W(n,t,"block"):t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i)?W(n,t,"block",0):te(t)?W(n,t,"block"):W(n,t,"block",0);if(e&&"@"==e.charAt(0)&&V(t.current().slice(1))&&(b="variable-2"),"word"==e){var r=t.current();"tag"==(b=Y(r))&&w.test(r)&&(b="variable-2"),"property"!=b&&"to"!=r||(b="atom")}return"variable-name"==e?W(n,t,"variableName"):J(e,t)?W(n,t,"pseudo"):n.context.type},$.vendorPrefixes=function(e,t,n){return"word"==e?(b="property",W(n,t,"block",0)):B(n)},$.pseudo=function(e,t,n){return V(ne(t.string))?H(e,t,n):(t.match(/^[a-z-]+/),b="variable-3",te(t)?W(n,t,"block"):B(n))},$.atBlock=function(e,t,n){if("("==e)return W(n,t,"atBlock_parens");if(X(e,t))return W(n,t,"block");if(Q(e,t))return W(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();if("tag"==(b=/^(only|not|and|or)$/.test(r)?"keyword":C.hasOwnProperty(r)?"tag":A.hasOwnProperty(r)?"attribute":I.hasOwnProperty(r)?"property":S.hasOwnProperty(r)?"string-2":Y(t.current()))&&te(t))return W(n,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(b="keyword"),n.context.type},$.atBlock_parens=function(e,t,n){if("{"==e||"}"==e)return n.context.type;if(")"==e)return te(t)?W(n,t,"block"):W(n,t,"atBlock");if("word"==e){var r=t.current().toLowerCase();return b=Y(r),/^(max|min)/.test(r)&&(b="property"),"tag"==b&&(b=w.test(r)?"variable-2":"atom"),n.context.type}return $.atBlock(e,t,n)},$.keyframes=function(e,t,n){return"0"==t.indentation()&&("}"==e&&ee(t)||"]"==e||"hash"==e||"qualifier"==e||G(t.current()))?H(e,t,n):"{"==e?W(n,t,"keyframes"):"}"==e?ee(t)?B(n,!0):W(n,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?W(n,t,"keyframes"):"word"==e&&"block-keyword"==(b=Y(t.current()))?(b="keyword",W(n,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?W(n,t,te(t)?"block":"atBlock"):"mixin"==e?W(n,t,"block",0):n.context.type},$.interpolation=function(e,t,n){return"{"==e&&B(n)&&W(n,t,"block"),"}"==e?t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&G(ne(t))?W(n,t,"block"):!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1)?W(n,t,"block",0):W(n,t,"block"):"variable-name"==e?W(n,t,"variableName",0):("word"==e&&"tag"==(b=Y(t.current()))&&(b="atom"),n.context.type)},$.extend=function(e,t,n){return"["==e||"="==e?"extend":"]"==e?B(n):"word"==e?(b=Y(t.current()),"extend"):B(n)},$.variableName=function(e,t,n){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(b="variable-2"),"variableName"):H(e,t,n)},{startState:function(e){return{tokenize:null,state:"block",context:new U("block",e||0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((g=(t.tokenize||function(e,t){if(P=e.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=P?P[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),p=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return t.tokenize=F,F(e,t);if('"'==p||"'"==p)return e.next(),t.tokenize=j(p),t.tokenize(e,t);if("@"==p)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==p){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(R)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==p?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==p&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(M)?("("==e.peek()&&(t.tokenize=q),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variable-3","reference"]):e.match(/^&{1}\s*$/)?["variable-3","reference"]:e.match(O)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!G(e.current())?(e.match(/\./),["variable-2","variable-name"]):["variable-2","word"]:e.match(L)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(p)?(e.next(),[null,p]):(e.next(),[null,null])})(e,t))&&"object"==typeof g&&(v=g[1],g=g[0]),b=g,t.state=$[t.state](v,e,t),b)},indent:function(e,t,n){var r=e.context,i=t&&t.charAt(0),o=r.indent,a=ne(t),s=n.match(/^\s*/)[0].replace(/\t/g,k).length,l=e.context.prev?e.context.prev.line.firstWord:"",c=e.context.prev?e.context.prev.line.indent:s;return r.prev&&("}"==i&&("block"==r.type||"atBlock"==r.type||"keyframes"==r.type)||")"==i&&("parens"==r.type||"atBlock_parens"==r.type)||"{"==i&&"at"==r.type)?o=r.indent-y:/(\})/.test(i)||(/@|\$|\d/.test(i)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(l)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||Z(a)?o=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||G(a)?o=/\,\s*$/.test(l)?c:/^\s+/.test(n)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||G(l))?s<=c?c:c+y:s:/,\s*$/.test(n)||!K(a)&&!V(a)||(o=Z(l)?s<=c?c:c+y:/^\{/.test(l)?s<=c?s:c+y:K(l)||V(l)?s>=c?c:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(l)||/=\s*$/.test(l)||G(l)||/^\$[\w-\.\[\]\'\"]/.test(l)?c+y:s)),o},electricChars:"}",lineComment:"//",fold:"indent"}});var t=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],n=["domain","regexp","url","url-prefix"],r=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"],o=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],a=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],s=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],c=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],u=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],d=["for","if","else","unless","from","to"],f=["null","true","false","href","title","type","not-allowed","readonly","disabled"],p=t.concat(n,r,i,o,a,l,c,s,u,d,f,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function m(e){return e=e.sort(function(e,t){return t>e}),new RegExp("^(("+e.join(")|(")+"))\\b")}function h(e){for(var t={},n=0;nn.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match(/---/))return"def";if(t.match(/\.\.\./))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==r?n.inlinePairs++:"}"==r?n.inlinePairs--:"["==r?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!i&&","==r)return t.next(),"meta";if(n.inlinePairs>0&&!i&&","==r)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==r,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(0))},,,,,,,,,function(e,t,n){!function(e){"use strict";e.defineMode("apl",function(){var e={".":"innerProduct","\\":"scan","/":"reduce","⌿":"reduce1Axis","⍀":"scan1Axis","¨":"each","⍣":"power"},t={"+":["conjugate","add"],"−":["negate","subtract"],"×":["signOf","multiply"],"÷":["reciprocal","divide"],"⌈":["ceiling","greaterOf"],"⌊":["floor","lesserOf"],"∣":["absolute","residue"],"⍳":["indexGenerate","indexOf"],"?":["roll","deal"],"⋆":["exponentiate","toThePowerOf"],"⍟":["naturalLog","logToTheBase"],"○":["piTimes","circularFuncs"],"!":["factorial","binomial"],"⌹":["matrixInverse","matrixDivide"],"<":[null,"lessThan"],"≤":[null,"lessThanOrEqual"],"=":[null,"equals"],">":[null,"greaterThan"],"≥":[null,"greaterThanOrEqual"],"≠":[null,"notEqual"],"≡":["depth","match"],"≢":[null,"notMatch"],"∈":["enlist","membership"],"⍷":[null,"find"],"∪":["unique","union"],"∩":[null,"intersection"],"∼":["not","without"],"∨":[null,"or"],"∧":[null,"and"],"⍱":[null,"nor"],"⍲":[null,"nand"],"⍴":["shapeOf","reshape"],",":["ravel","catenate"],"⍪":[null,"firstAxisCatenate"],"⌽":["reverse","rotate"],"⊖":["axis1Reverse","axis1Rotate"],"⍉":["transpose",null],"↑":["first","take"],"↓":[null,"drop"],"⊂":["enclose","partitionWithAxis"],"⊃":["diclose","pick"],"⌷":[null,"index"],"⍋":["gradeUp",null],"⍒":["gradeDown",null],"⊤":["encode",null],"⊥":["decode",null],"⍕":["format","formatByExample"],"⍎":["execute",null],"⊣":["stop","left"],"⊢":["pass","right"]},n=/[\.\/⌿⍀¨⍣]/,r=/⍬/,i=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,o=/←/,a=/[⍝#].*$/;return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(s,l){var c,u,d,f;return s.eatSpace()?null:'"'===(c=s.next())||"'"===c?(s.eatWhile((d=c,f=!1,function(e){return f=e,e!==d||"\\"===f})),s.next(),l.prev=!0,"string"):/[\[{\(]/.test(c)?(l.prev=!1,null):/[\]}\)]/.test(c)?(l.prev=!0,null):r.test(c)?(l.prev=!1,"niladic"):/[¯\d]/.test(c)?(l.func?(l.func=!1,l.prev=!1):l.prev=!0,s.eatWhile(/[\w\.]/),"number"):n.test(c)?"operator apl-"+e[c]:o.test(c)?"apl-arrow":i.test(c)?(u="apl-",null!=t[c]&&(l.prev?u+=t[c][1]:u+=t[c][0]),l.func=!0,l.prev=!1,"function "+u):a.test(c)?(s.skipToEnd(),"comment"):"∘"===c&&"."===s.peek()?(s.next(),"function jot-dot"):(s.eatWhile(/[\w\$_]/),l.prev=!0,"keyword")}}}),e.defineMIME("text/apl","apl")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?"error":null}e.defineMode("asciiarmor",function(){return{token:function(e,n){var r;if("top"==n.state)return e.sol()&&(r=e.match(/^-----BEGIN (.*)?-----\s*$/))?(n.state="headers",n.type=r[1],"tag"):t(e);if("headers"==n.state){if(e.sol()&&e.match(/^\w+:/))return n.state="header","atom";var i=t(e);return i&&(n.state="body"),i}return"header"==n.state?(e.skipToEnd(),n.state="headers","string"):"body"==n.state?e.sol()&&(r=e.match(/^-----END (.*)?-----\s*$/))?r[1]!=n.type?"error":(n.state="end","tag"):e.eatWhile(/[A-Za-z0-9+\/=]/)?null:(e.next(),"error"):"end"==n.state?t(e):void 0},blankLine:function(e){"headers"==e.state&&(e.state="body")},startState:function(){return{state:"top",type:null}}}}),e.defineMIME("application/pgp","asciiarmor"),e.defineMIME("application/pgp-encrypted","asciiarmor"),e.defineMIME("application/pgp-keys","asciiarmor"),e.defineMIME("application/pgp-signature","asciiarmor")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r?$/.test(o)?(i.extenExten=!0,i.extenStart=!1,"strong"):(i.extenStart=!1,r.skipToEnd(),"error")):i.extenExten?(i.extenExten=!1,i.extenPriority=!0,r.eatWhile(/[^,]/),i.extenInclude&&(r.skipToEnd(),i.extenPriority=!1,i.extenInclude=!1),i.extenSame&&(i.extenPriority=!1,i.extenSame=!1,i.extenApplication=!0),"tag"):i.extenPriority?(i.extenPriority=!1,i.extenApplication=!0,r.next(),i.extenSame?null:(r.eatWhile(/[^,]/),"number")):i.extenApplication?(r.eatWhile(/,/),","===(o=r.current())?null:(r.eatWhile(/\w/),o=r.current().toLowerCase(),i.extenApplication=!1,-1!==n.indexOf(o)?"def strong":null)):function(n,r){var i="",o=n.next();if(";"==o)return n.skipToEnd(),"comment";if("["==o)return n.skipTo("]"),n.eat("]"),"header";if('"'==o)return n.skipTo('"'),"string";if("'"==o)return n.skipTo("'"),"string-2";if("#"==o&&(n.eatWhile(/\w/),i=n.current(),-1!==t.indexOf(i)))return n.skipToEnd(),"strong";if("$"==o){var a=n.peek();if("{"==a)return n.skipTo("}"),n.eat("}"),"variable-3"}if(n.eatWhile(/\w/),i=n.current(),-1!==e.indexOf(i)){switch(r.extenStart=!0,i){case"same":r.extenSame=!0;break;case"include":case"switch":case"ignorepat":r.extenInclude=!0}return"atom"}}(r,i)}}}),e.defineMIME("text/x-asterisk","asterisk")}(n(0))},function(e,t,n){!function(e){"use strict";var t="><+-.,[]".split("");e.defineMode("brainfuck",function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(e,n){if(e.eatSpace())return null;e.sol()&&(n.commentLine=!1);var r=e.next().toString();return-1===t.indexOf(r)?(n.commentLine=!0,e.eol()&&(n.commentLine=!1),"comment"):!0===n.commentLine?(e.eol()&&(n.commentLine=!1),"comment"):"]"===r||"["===r?("["===r?n.left++:n.right++,"bracket"):"+"===r||"-"===r?"keyword":"<"===r||">"===r?"atom":"."===r||","===r?"def":void(e.eol()&&(n.commentLine=!1))}}}),e.defineMIME("text/x-brainfuck","brainfuck")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("clojure",function(t){var n=["false","nil","true"],r=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],i=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"];e.registerHelper("hintWords","clojure",[].concat(n,r,i));var o=g(n),a=g(r),s=g(i),l=g(["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"]),c=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,u=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,d=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,f=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function p(e,t){if(e.eatSpace())return["space",null];if(e.match(u))return[null,"number"];if(e.match(d))return[null,"string-2"];if(e.eat(/^"/))return(t.tokenize=m)(e,t);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var n=e.match(f),r=n&&n[0];return r?"comment"===r&&"("===t.lastToken?(t.tokenize=h)(e,t):v(r,o)||":"===r.charAt(0)?["symbol","atom"]:v(r,a)||v(r,s)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile(function(e){return!v(e,c)}),[null,"error"])}function m(e,t){for(var n,r=!1;n=e.next();){if('"'===n&&!r){t.tokenize=p;break}r=!r&&"\\"===n}return[null,"string"]}function h(e,t){for(var n,r=1;n=e.next();)if(")"===n&&r--,"("===n&&r++,0===r){e.backUp(1),t.tokenize=p;break}return["space","comment"]}function g(e){for(var t={},n=0;n >= "),i={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,keyword_char:/[^\s\(\[\;\)\]]/,symbol:/[\w*+\-]/};return{startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(e,o){if(null==o.indentStack&&e.sol()&&(o.indentation=6),e.eatSpace())return null;var a=null;switch(o.mode){case"string":for(var s=!1;null!=(s=e.next());)if('"'==s||"'"==s){o.mode=!1;break}a="string";break;default:var l=e.next(),c=e.column();if(c>=0&&c<=5)a="def";else if(c>=72&&c<=79)e.skipToEnd(),a="header";else if("*"==l&&6==c)e.skipToEnd(),a="comment";else if('"'==l||"'"==l)o.mode="string",a="string";else if("'"!=l||i.digit_or_colon.test(e.peek()))if("."==l)a="link";else if(function(e,t){return"0"===e&&t.eat(/x/i)?(t.eatWhile(i.hex),!0):("+"!=e&&"-"!=e||!i.digit.test(t.peek())||(t.eat(i.sign),e=t.next()),!!i.digit.test(e)&&(t.eat(e),t.eatWhile(i.digit),"."==t.peek()&&(t.eat("."),t.eatWhile(i.digit)),t.eat(i.exponent)&&(t.eat(i.sign),t.eatWhile(i.digit)),!0))}(l,e))a="number";else{if(e.current().match(i.symbol))for(;c<71&&void 0!==e.eat(i.symbol);)c++;a=n&&n.propertyIsEnumerable(e.current().toUpperCase())?"keyword":r&&r.propertyIsEnumerable(e.current().toUpperCase())?"builtin":t&&t.propertyIsEnumerable(e.current().toUpperCase())?"atom":null}else a="atom"}return a},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent}}}),e.defineMIME("text/x-cobol","cobol")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("commonlisp",function(e){var t,n=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,r=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,i=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,o=/[^\s'`,@()\[\]";]/;function a(e){for(var t;t=e.next();)if("\\"==t)e.next();else if(!o.test(t)){e.backUp(1);break}return e.current()}function s(e,o){if(e.eatSpace())return t="ws",null;if(e.match(i))return"number";var s=e.next();if("\\"==s&&(s=e.next()),'"'==s)return(o.tokenize=l)(e,o);if("("==s)return t="open","bracket";if(")"==s||"]"==s)return t="close","bracket";if(";"==s)return e.skipToEnd(),t="ws","comment";if(/['`,@]/.test(s))return null;if("|"==s)return e.skipTo("|")?(e.next(),"symbol"):(e.skipToEnd(),"error");if("#"==s){var s=e.next();return"("==s?(t="open","bracket"):/[+\-=\.']/.test(s)?null:/\d/.test(s)&&e.match(/^\d*#/)?null:"|"==s?(o.tokenize=c)(e,o):":"==s?(a(e),"meta"):"\\"==s?(e.next(),a(e),"string-2"):"error"}var u=a(e);return"."==u?null:(t="symbol","nil"==u||"t"==u||":"==u.charAt(0)?"atom":"open"==o.lastType&&(n.test(u)||r.test(u))?"keyword":"&"==u.charAt(0)?"variable-2":"variable")}function l(e,t){for(var n,r=!1;n=e.next();){if('"'==n&&!r){t.tokenize=s;break}r=!r&&"\\"==n}return"string"}function c(e,n){for(var r,i;r=e.next();){if("#"==r&&"|"==i){n.tokenize=s;break}i=r}return t="ws","comment"}return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:s}},token:function(n,i){n.sol()&&"number"!=typeof i.ctx.indentTo&&(i.ctx.indentTo=i.ctx.start+1),t=null;var o=i.tokenize(n,i);return"ws"!=t&&(null==i.ctx.indentTo?"symbol"==t&&r.test(n.current())?i.ctx.indentTo=i.ctx.start+e.indentUnit:i.ctx.indentTo="next":"next"==i.ctx.indentTo&&(i.ctx.indentTo=n.column()),i.lastType=t),"open"==t?i.ctx={prev:i.ctx,start:n.column(),indentTo:null}:"close"==t&&(i.ctx=i.ctx.prev||i.ctx),o},indent:function(e,t){var n=e.ctx.indentTo;return"number"==typeof n?n:e.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",blockCommentStart:"#|",blockCommentEnd:"|#"}}),e.defineMIME("text/x-common-lisp","commonlisp")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("crystal",function(e){function t(e,t){return new RegExp((t?"":"^")+"(?:"+e.join("|")+")"+(t?"$":"\\b"))}function n(e,t,n){return n.tokenize.push(e),e(t,n)}var r=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,i=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,o=/^(?:\[\][?=]?)/,a=/^(?:\.(?:\.{2})?|->|[?:])/,s=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,l=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,c=t(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),u=t(["true","false","nil","self"]),d=t(["def","fun","macro","class","module","struct","lib","enum","union","do","for"]),f=t(["if","unless","case","while","until","begin","then"]),p=["end","else","elsif","rescue","ensure"],m=t(p),h=["\\)","\\}","\\]"],g=new RegExp("^(?:"+h.join("|")+")$"),v={def:w,fun:w,macro:function(e,t){if(e.eatSpace())return null;var n;if(n=e.match(s)){if("def"==n)return"keyword";e.eat(/[?!]/)}return t.tokenize.pop(),"def"},class:_,module:_,struct:_,lib:_,enum:_,union:_},b={"[":"]","{":"}","(":")","<":">"};function y(e,t){if(e.eatSpace())return null;if("\\"!=t.lastToken&&e.match("{%",!1))return n(x("%","%"),e,t);if("\\"!=t.lastToken&&e.match("{{",!1))return n(x("{","}"),e,t);if("#"==e.peek())return e.skipToEnd(),"comment";var p;if(e.match(s))return e.eat(/[?!]/),p=e.current(),e.eat(":")?"atom":"."==t.lastToken?"property":c.test(p)?(d.test(p)?"fun"==p&&t.blocks.indexOf("lib")>=0||"def"==p&&"abstract"==t.lastToken||(t.blocks.push(p),t.currentIndent+=1):"operator"!=t.lastStyle&&t.lastStyle||!f.test(p)?"end"==p&&(t.blocks.pop(),t.currentIndent-=1):(t.blocks.push(p),t.currentIndent+=1),v.hasOwnProperty(p)&&t.tokenize.push(v[p]),"keyword"):u.test(p)?"atom":"variable";if(e.eat("@"))return"["==e.peek()?n(k("[","]","meta"),e,t):(e.eat("@"),e.match(s)||e.match(l),"variable-2");if(e.match(l))return"tag";if(e.eat(":"))return e.eat('"')?n(S('"',"atom",!1),e,t):e.match(s)||e.match(l)||e.match(r)||e.match(i)||e.match(o)?"atom":(e.eat(":"),"operator");if(e.eat('"'))return n(S('"',"string",!0),e,t);if("%"==e.peek()){var m,h="string",g=!0;if(e.match("%r"))h="string-2",m=e.next();else if(e.match("%w"))g=!1,m=e.next();else if(e.match("%q"))g=!1,m=e.next();else{if(!(m=e.match(/^%([^\w\s=])/)))return e.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)?"meta":"operator";m=m[1]}return b.hasOwnProperty(m)&&(m=b[m]),n(S(m,h,g),e,t)}return(p=e.match(/^<<-('?)([A-Z]\w*)\1/))?n(function(e,t){return function(n,r){if(n.sol()&&(n.eatSpace(),n.match(e)))return r.tokenize.pop(),"string";for(var i=!1;n.peek();)if(i)n.next(),i=!1;else{if(n.match("{%",!1))return r.tokenize.push(x("%","%")),"string";if(n.match("{{",!1))return r.tokenize.push(x("{","}")),"string";if(t&&n.match("#{",!1))return r.tokenize.push(k("#{","}","meta")),"string";i=t&&"\\"==n.next()}return"string"}}(p[2],!p[1]),e,t):e.eat("'")?(e.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),e.eat("'"),"atom"):e.eat("0")?(e.eat("x")?e.match(/^[0-9a-fA-F]+/):e.eat("o")?e.match(/^[0-7]+/):e.eat("b")&&e.match(/^[01]+/),"number"):e.eat(/^\d/)?(e.match(/^\d*(?:\.\d+)?(?:[eE][+-]?\d+)?/),"number"):e.match(r)?(e.eat("="),"operator"):e.match(i)||e.match(a)?"operator":(p=e.match(/[({[]/,!1))?n(k(p=p[0],b[p],null),e,t):e.eat("\\")?(e.next(),"meta"):(e.next(),null)}function k(e,t,n,r){return function(i,o){if(!r&&i.match(e))return o.tokenize[o.tokenize.length-1]=k(e,t,n,!0),o.currentIndent+=1,n;var a=y(i,o);return i.current()===t&&(o.tokenize.pop(),o.currentIndent-=1,a=n),a}}function x(e,t,n){return function(r,i){return!n&&r.match("{"+e)?(i.currentIndent+=1,i.tokenize[i.tokenize.length-1]=x(e,t,!0),"meta"):r.match(t+"}")?(i.currentIndent-=1,i.tokenize.pop(),"meta"):y(r,i)}}function w(e,t){return e.eatSpace()?null:(e.match(s)?e.eat(/[!?]/):e.match(r)||e.match(i)||e.match(o),t.tokenize.pop(),"def")}function _(e,t){return e.eatSpace()?null:(e.match(l),t.tokenize.pop(),"def")}function S(e,t,n){return function(r,i){for(var o=!1;r.peek();)if(o)r.next(),o=!1;else{if(r.match("{%",!1))return i.tokenize.push(x("%","%")),t;if(r.match("{{",!1))return i.tokenize.push(x("{","}")),t;if(n&&r.match("#{",!1))return i.tokenize.push(k("#{","}","meta")),t;var a=r.next();if(a==e)return i.tokenize.pop(),t;o=n&&"\\"==a}return t}}return{startState:function(){return{tokenize:[y],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(e,t){var n=t.tokenize[t.tokenize.length-1](e,t),r=e.current();return n&&"comment"!=n&&(t.lastToken=r,t.lastStyle=n),n},indent:function(t,n){return n=n.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),m.test(n)||g.test(n)?e.indentUnit*(t.currentIndent-1):e.indentUnit*t.currentIndent},fold:"indent",electricInput:t(h.concat(p),!0),lineComment:"#"}}),e.defineMIME("text/x-crystal","crystal")}(n(0))},function(e,t,n){!function(e){"use strict";var t=function(e){return new RegExp("^(?:"+e.join("|")+")$","i")};e.defineMode("cypher",function(n){var r,i=function(e){var t=e.next();if('"'===t)return e.match(/.*?"/),"string";if("'"===t)return e.match(/.*?'/),"string";if(/[{}\(\),\.;\[\]]/.test(t))return r=t,"node";if("/"===t&&e.eat("/"))return e.skipToEnd(),"comment";if(d.test(t))return e.eatWhile(d),null;if(e.eatWhile(/[_\w\d]/),e.eat(":"))return e.eatWhile(/[\w\d_\-]/),"atom";var n=e.current();return l.test(n)?"builtin":c.test(n)?"def":u.test(n)?"keyword":"variable"},o=function(e,t,n){return e.context={prev:e.context,indent:e.indent,col:n,type:t}},a=function(e){return e.indent=e.context.indent,e.context=e.context.prev},s=n.indentUnit,l=t(["abs","acos","allShortestPaths","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endnode","exp","extract","filter","floor","haversin","head","id","keys","labels","last","left","length","log","log10","lower","ltrim","max","min","node","nodes","percentileCont","percentileDisc","pi","radians","rand","range","reduce","rel","relationship","relationships","replace","reverse","right","round","rtrim","shortestPath","sign","sin","size","split","sqrt","startnode","stdev","stdevp","str","substring","sum","tail","tan","timestamp","toFloat","toInt","toString","trim","type","upper"]),c=t(["all","and","any","contains","exists","has","in","none","not","or","single","xor"]),u=t(["as","asc","ascending","assert","by","case","commit","constraint","create","csv","cypher","delete","desc","descending","detach","distinct","drop","else","end","ends","explain","false","fieldterminator","foreach","from","headers","in","index","is","join","limit","load","match","merge","null","on","optional","order","periodic","profile","remove","return","scan","set","skip","start","starts","then","true","union","unique","unwind","using","when","where","with","call","yield"]),d=/[*+\-<>=&|~%^]/;return{startState:function(){return{tokenize:i,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!==n&&t.context&&null==t.context.align&&"pattern"!==t.context.type&&(t.context.align=!0),"("===r)o(t,")",e.column());else if("["===r)o(t,"]",e.column());else if("{"===r)o(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"===t.context.type;)a(t);t.context&&r===t.context.type&&a(t)}else"."===r&&t.context&&"pattern"===t.context.type?a(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?o(t,"pattern",e.column()):"pattern"!==t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(t,n){var r=n&&n.charAt(0),i=t.context;if(/[\]\}]/.test(r))for(;i&&"pattern"===i.type;)i=i.prev;var o=i&&r===i.type;return i?"keywords"===i.type?e.commands.newlineAndIndent:i.align?i.col+(o?0:1):i.indent+(o?0:s):0}}}),e.modeExtensions.cypher={autoFormatLineBreaks:function(e){for(var t=e.split("\n"),n=/\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g,r=0;r!?|\/]/;function p(e,t){var n,i=e.next();if(u[i]){var o=u[i](e,t);if(!1!==o)return o}if('"'==i||"'"==i||"`"==i)return t.tokenize=(n=i,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!d)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(i))return r=i,null;if(/\d/.test(i))return e.eatWhile(/[\w\.]/),"number";if("/"==i){if(e.eat("+"))return t.tokenize=h,h(e,t);if(e.eat("*"))return t.tokenize=m,m(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(f.test(i))return e.eatWhile(f),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var p=e.current();return a.propertyIsEnumerable(p)?(l.propertyIsEnumerable(p)&&(r="newstatement"),"keyword"):s.propertyIsEnumerable(p)?(l.propertyIsEnumerable(p)&&(r="newstatement"),"builtin"):c.propertyIsEnumerable(p)?"atom":"variable"}function m(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function h(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="+"==n}return"comment"}function g(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function v(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new g(r,t,n,null,e.context)}function b(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new g((e||0)-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;r=null;var i=(t.tokenize||p)(e,t);if("comment"==i||"meta"==i)return i;if(null==n.align&&(n.align=!0),";"!=r&&":"!=r&&","!=r||"statement"!=n.type)if("{"==r)v(t,e.column(),"}");else if("["==r)v(t,e.column(),"]");else if("("==r)v(t,e.column(),")");else if("}"==r){for(;"statement"==n.type;)n=b(t);for("}"==n.type&&(n=b(t));"statement"==n.type;)n=b(t)}else r==n.type?b(t):(("}"==n.type||"top"==n.type)&&";"!=r||"statement"==n.type&&"newstatement"==r)&&v(t,e.column(),"statement");else b(t);return t.startOfLine=!1,i},indent:function(t,n){if(t.tokenize!=p&&null!=t.tokenize)return e.Pass;var r=t.context,a=n&&n.charAt(0);"statement"==r.type&&"}"==a&&(r=r.prev);var s=a==r.type;return"statement"==r.type?r.indented+("{"==a?0:o):r.align?r.column+(s?0:1):r.indented+(s?0:i)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var n="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";e.defineMIME("text/x-d",{name:"d",keywords:t("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+n),blockKeywords:t(n),builtin:t("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:t("exit failure success true false null"),hooks:{"@":function(e,t){return e.eatWhile(/[\w\$_]/),"meta"}}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as".split(" "),n="try catch finally do else for if switch while".split(" "),r="true false null".split(" "),i="void bool num int double dynamic var String".split(" ");function o(e){for(var t={},n=0;n0&&(t.tokenize=s(t),null)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=function e(t){return function(n,r){for(var i;i=n.next();){if("*"==i&&n.eat("/")){if(1==t){r.tokenize=null;break}return r.tokenize=e(t-1),r.tokenize(n,r)}if("/"==i&&n.eat("*"))return r.tokenize=e(t+1),r.tokenize(n,r)}return"comment"}}(1),t.tokenize(e,t))}}}),e.registerHelper("hintWords","application/dart",t.concat(r).concat(i)),e.defineMode("dart",function(t){return e.getMode(t,"application/dart")},"clike")}(n(0),n(26))},function(e,t,n){!function(e){"use strict";e.defineMode("diff",function(){var e={"+":"positive","-":"negative","@":"meta"};return{token:function(t){var n=t.string.search(/[\t ]+?$/);if(!t.sol()||0===n)return t.skipToEnd(),("error "+(e[t.string.charAt(0)]||"")).replace(/ $/,"");var r=e[t.peek()]||t.skipToEnd();return-1===n?t.skipToEnd():t.pos=n,r}}}),e.defineMIME("text/x-diff","diff")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("django:inner",function(){var e=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],t=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],n=["==","!=","<",">","<=",">="],r=["in","not","or","and"];function i(e,t){if(e.match("{{"))return t.tokenize=a,"tag";if(e.match("{%"))return t.tokenize=s,"tag";if(e.match("{#"))return t.tokenize=l,"comment";for(;null!=e.next()&&!e.match(/\{[{%#]/,!1););return null}function o(e,t){return function(n,r){if(!r.escapeNext&&n.eat(e))r.tokenize=t;else{r.escapeNext&&(r.escapeNext=!1);var i=n.next();"\\"==i&&(r.escapeNext=!0)}return"string"}}function a(e,n){if(n.waitDot){if(n.waitDot=!1,"."!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("."))return n.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(n.waitPipe){if(n.waitPipe=!1,"|"!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("|"))return n.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return n.waitProperty&&(n.waitProperty=!1,e.match(/\b(\w+)\b/))?(n.waitDot=!0,n.waitPipe=!0,"property"):n.waitFilter&&(n.waitFilter=!1,e.match(t))?"variable-2":e.eatSpace()?(n.waitProperty=!1,"null"):e.match(/\b\d+(\.\d+)?\b/)?"number":e.match("'")?(n.tokenize=o("'",n.tokenize),"string"):e.match('"')?(n.tokenize=o('"',n.tokenize),"string"):e.match(/\b(\w+)\b/)&&!n.foundVariable?(n.waitDot=!0,n.waitPipe=!0,"variable"):e.match("}}")?(n.waitProperty=null,n.waitFilter=null,n.waitDot=null,n.waitPipe=null,n.tokenize=i,"tag"):(e.next(),"null")}function s(a,s){if(s.waitDot){if(s.waitDot=!1,"."!=a.peek())return"null";if(a.match(/\.\W+/))return"error";if(a.eat("."))return s.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(s.waitPipe){if(s.waitPipe=!1,"|"!=a.peek())return"null";if(a.match(/\.\W+/))return"error";if(a.eat("|"))return s.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(s.waitProperty&&(s.waitProperty=!1,a.match(/\b(\w+)\b/)))return s.waitDot=!0,s.waitPipe=!0,"property";if(s.waitFilter&&(s.waitFilter=!1,a.match(t)))return"variable-2";if(a.eatSpace())return s.waitProperty=!1,"null";if(a.match(/\b\d+(\.\d+)?\b/))return"number";if(a.match("'"))return s.tokenize=o("'",s.tokenize),"string";if(a.match('"'))return s.tokenize=o('"',s.tokenize),"string";if(a.match(n))return"operator";if(a.match(r))return"keyword";var l=a.match(e);return l?("comment"==l[0]&&(s.blockCommentTag=!0),"keyword"):a.match(/\b(\w+)\b/)?(s.waitDot=!0,s.waitPipe=!0,"variable"):a.match("%}")?(s.waitProperty=null,s.waitFilter=null,s.waitDot=null,s.waitPipe=null,s.blockCommentTag?(s.blockCommentTag=!1,s.tokenize=c):s.tokenize=i,"tag"):(a.next(),"null")}function l(e,t){return e.match(/^.*?#\}/)?t.tokenize=i:e.skipToEnd(),"comment"}function c(e,t){return e.match(/\{%\s*endcomment\s*%\}/,!1)?(t.tokenize=s,e.match("{%"),"tag"):(e.next(),"comment")}return e=new RegExp("^\\b("+e.join("|")+")\\b"),t=new RegExp("^\\b("+t.join("|")+")\\b"),n=new RegExp("^\\b("+n.join("|")+")\\b"),r=new RegExp("^\\b("+r.join("|")+")\\b"),{startState:function(){return{tokenize:i}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),e.defineMode("django",function(t){var n=e.getMode(t,"text/html"),r=e.getMode(t,"django:inner");return e.overlayMode(n,r)}),e.defineMIME("text/x-django","django")}(n(0),n(6),n(22))},function(e,t,n){!function(e){"use strict";var t="from",n=new RegExp("^(\\s*)\\b("+t+")\\b","i"),r=["run","cmd","entrypoint","shell"],i=new RegExp("^(\\s*)("+r.join("|")+")(\\s+\\[)","i"),o="expose",a=new RegExp("^(\\s*)("+o+")(\\s+)","i"),s="("+[t,o].concat(r).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")",l=new RegExp("^(\\s*)"+s+"(\\s*)(#.*)?$","i"),c=new RegExp("^(\\s*)"+s+"(\\s+)","i");e.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:n,token:[null,"keyword"],sol:!0,next:"from"},{regex:l,token:[null,"keyword",null,"error"],sol:!0},{regex:i,token:[null,"keyword",null],sol:!0,next:"array"},{regex:a,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:c,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),e.defineMIME("text/x-dockerfile","dockerfile")}(n(0),n(23))},function(e,t,n){!function(e){"use strict";e.defineMode("dtd",function(e){var t,n=e.indentUnit;function r(e,n){return t=n,e}function i(e,t){var n,a,s,l=e.next();if("<"!=l||!e.eat("!")){if("<"==l&&e.eat("?"))return t.tokenize=(a="meta",s="?>",function(e,t){for(;!e.eol();){if(e.match(s)){t.tokenize=i;break}e.next()}return a}),r("meta",l);if("#"==l&&e.eatWhile(/[\w]/))return r("atom","tag");if("|"==l)return r("keyword","seperator");if(l.match(/[\(\)\[\]\-\.,\+\?>]/))return r(null,l);if(l.match(/[\[\]]/))return r("rule",l);if('"'==l||"'"==l)return t.tokenize=(n=l,function(e,t){for(var o,a=!1;null!=(o=e.next());){if(o==n&&!a){t.tokenize=i;break}a=!a&&"\\"==o}return r("string","tag")}),t.tokenize(e,t);if(e.eatWhile(/[a-zA-Z\?\+\d]/)){var c=e.current();return null!==c.substr(c.length-1,c.length).match(/\?|\+/)&&e.backUp(1),r("tag","tag")}return"%"==l||"*"==l?r("number","number"):(e.eatWhile(/[\w\\\-_%.{,]/),r(null,null))}return e.eatWhile(/[\-]/)?(t.tokenize=o,o(e,t)):e.eatWhile(/[\w]/)?r("keyword","doindent"):void 0}function o(e,t){for(var n,o=0;null!=(n=e.next());){if(o>=2&&">"==n){t.tokenize=i;break}o="-"==n?o+1:0}return r("comment","comment")}return{startState:function(e){return{tokenize:i,baseIndent:e||0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;var r=n.tokenize(e,n),i=n.stack[n.stack.length-1];return"["==e.current()||"doindent"===t||"["==t?n.stack.push("rule"):"endtag"===t?n.stack[n.stack.length-1]="endtag":"]"==e.current()||"]"==t||">"==t&&"rule"==i?n.stack.pop():"["==t&&n.stack.push("["),r},indent:function(e,r){var i=e.stack.length;return r.match(/\]\s+|\]/)?i-=1:">"===r.substr(r.length-1,r.length)&&("<"===r.substr(0,1)||"doindent"==t&&r.length>1||("doindent"==t?i--:">"==t&&r.length>1||"tag"==t&&">"!==r||("tag"==t&&"rule"==e.stack[e.stack.length-1]?i--:"tag"==t?i++:">"===r&&"rule"==e.stack[e.stack.length-1]&&">"===t?i--:">"===r&&"rule"==e.stack[e.stack.length-1]||("<"!==r.substr(0,1)&&">"===r.substr(0,1)?i-=1:">"===r||(i-=1)))),null!=t&&"]"!=t||i--),e.baseIndent+i*n},electricChars:"]>"}}),e.defineMIME("application/xml-dtd","dtd")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t){for(var n=0;n",symbolGlobal:"\\*"+i+"\\*",symbolConstant:"\\$"+i},s={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variable-2",symbolConstant:"variable-3"};for(var l in a)a.hasOwnProperty(l)&&(a[l]=new RegExp("^"+a[l]));a.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var c={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},u={},d={};function f(e,t,n){return t.tokenize=n,n(e,t)}function p(e,t){var r=e.peek();if("'"==r||'"'==r)return e.next(),f(e,t,h(r,"string"));if("/"==r){if(e.next(),e.eat("*"))return f(e,t,m);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(r)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if("#"==r)return e.next(),'"'==(r=e.peek())?(e.next(),f(e,t,h('"',"string"))):"b"==r?(e.next(),e.eatWhile(/[01]/),"number"):"x"==r?(e.next(),e.eatWhile(/[\da-f]/i),"number"):"o"==r?(e.next(),e.eatWhile(/[0-7]/),"number"):"#"==r?(e.next(),"punctuation"):"["==r||"("==r?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if("~"==r)return e.next(),"="==(r=e.peek())?(e.next(),"="==(r=e.peek())?(e.next(),"operator"):"operator"):"operator";if(":"==r){if(e.next(),"="==(r=e.peek()))return e.next(),"operator";if(":"==r)return e.next(),"punctuation"}else{if(-1!="[](){}".indexOf(r))return e.next(),"bracket";if(-1!=".,".indexOf(r))return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var i in a)if(a.hasOwnProperty(i)){var l=a[i];if(l instanceof Array&&n(l,function(t){return e.match(t)})||e.match(l))return s[i]}return/[+\-*\/^=<>&|]/.test(r)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),u.hasOwnProperty(e.current())?d[e.current()]:e.current().match(o)?"variable":(e.next(),"variable-2"))}function m(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if("/"==n&&r){if(!(o>0)){t.tokenize=p;break}o--}else"*"==n&&i&&o++;r="*"==n,i="/"==n}return"comment"}function h(e,t){return function(n,r){for(var i,o=!1,a=!1;null!=(i=n.next());){if(i==e&&!o){a=!0;break}o=!o&&"\\"==i}return!a&&o||(r.tokenize=p),t}}return t(["keyword","definition","simpleDefinition","signalingCalls"],function(e){t(r[e],function(t){u[t]=e,d[t]=c[e]})}),{startState:function(){return{tokenize:p,currentIndent:0}},token:function(e,t){if(e.eatSpace())return null;var n=t.tokenize(e,t);return n},blockCommentStart:"/*",blockCommentEnd:"*/"}}),e.defineMIME("text/x-dylan","dylan")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("ebnf",function(t){var n={slash:0,parenthesis:1},r={comment:0,_string:1,characterClass:2},i=null;return t.bracesMode&&(i=e.getMode(t,t.bracesMode)),{startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(t,o){if(t){switch(0===o.stack.length&&('"'==t.peek()||"'"==t.peek()?(o.stringType=t.peek(),t.next(),o.stack.unshift(r._string)):t.match(/^\/\*/)?(o.stack.unshift(r.comment),o.commentType=n.slash):t.match(/^\(\*/)&&(o.stack.unshift(r.comment),o.commentType=n.parenthesis)),o.stack[0]){case r._string:for(;o.stack[0]===r._string&&!t.eol();)t.peek()===o.stringType?(t.next(),o.stack.shift()):"\\"===t.peek()?(t.next(),t.next()):t.match(/^.[^\\\"\']*/);return o.lhs?"property string":"string";case r.comment:for(;o.stack[0]===r.comment&&!t.eol();)o.commentType===n.slash&&t.match(/\*\//)?(o.stack.shift(),o.commentType=null):o.commentType===n.parenthesis&&t.match(/\*\)/)?(o.stack.shift(),o.commentType=null):t.match(/^.[^\*]*/);return"comment";case r.characterClass:for(;o.stack[0]===r.characterClass&&!t.eol();)t.match(/^[^\]\\]+/)||t.match(/^\\./)||o.stack.shift();return"operator"}var a=t.peek();if(null!==i&&(o.braced||"{"===a)){null===o.localState&&(o.localState=e.startState(i));var s=i.token(t,o.localState),l=t.current();if(!s)for(var c=0;c>/))return"builtin"}return t.match(/^\/\//)?(t.skipToEnd(),"comment"):t.match(/return/)?"operator":t.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?t.match(/(?=[\(.])/)?"variable":t.match(/(?=[\s\n]*[:=])/)?"def":"variable-2":-1!=["[","]","(",")"].indexOf(t.peek())?(t.next(),"bracket"):(t.eatSpace()||t.next(),null)}}}}),e.defineMIME("text/x-ebnf","ebnf")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("ecl",function(e){function t(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function p(e,t){var r,h=e.next();if(d[h]){var g=d[h](e,t);if(!1!==g)return g}if('"'==h||"'"==h)return t.tokenize=(r=h,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"\\"==n}return!o&&i||(t.tokenize=p),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(h))return n=h,null;if(/\d/.test(h))return e.eatWhile(/[\w\.]/),"number";if("/"==h){if(e.eat("*"))return t.tokenize=m,m(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(f.test(h))return e.eatWhile(f),"operator";e.eatWhile(/[\w\$_]/);var v=e.current().toLowerCase();if(i.propertyIsEnumerable(v))return c.propertyIsEnumerable(v)&&(n="newstatement"),"keyword";if(o.propertyIsEnumerable(v))return c.propertyIsEnumerable(v)&&(n="newstatement"),"variable";if(a.propertyIsEnumerable(v))return c.propertyIsEnumerable(v)&&(n="newstatement"),"variable-2";if(s.propertyIsEnumerable(v))return c.propertyIsEnumerable(v)&&(n="newstatement"),"variable-3";if(l.propertyIsEnumerable(v))return c.propertyIsEnumerable(v)&&(n="newstatement"),"builtin";for(var b=v.length-1;b>=0&&(!isNaN(v[b])||"_"==v[b]);)--b;if(b>0){var y=v.substr(0,b+1);if(s.propertyIsEnumerable(y))return c.propertyIsEnumerable(y)&&(n="newstatement"),"variable-3"}return u.propertyIsEnumerable(v)?"atom":null}function m(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=p;break}r="*"==n}return"comment"}function h(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function g(e,t,n){return e.context=new h(e.indented,t,n,null,e.context)}function v(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new h((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;n=null;var i=(t.tokenize||p)(e,t);if("comment"==i||"meta"==i)return i;if(null==r.align&&(r.align=!0),";"!=n&&":"!=n||"statement"!=r.type)if("{"==n)g(t,e.column(),"}");else if("["==n)g(t,e.column(),"]");else if("("==n)g(t,e.column(),")");else if("}"==n){for(;"statement"==r.type;)r=v(t);for("}"==r.type&&(r=v(t));"statement"==r.type;)r=v(t)}else n==r.type?v(t):("}"==r.type||"top"==r.type||"statement"==r.type&&"newstatement"==n)&&g(t,e.column(),"statement");else v(t);return t.startOfLine=!1,i},indent:function(e,t){if(e.tokenize!=p&&null!=e.tokenize)return 0;var n=e.context,i=t&&t.charAt(0);"statement"==n.type&&"}"==i&&(n=n.prev);var o=i==n.type;return"statement"==n.type?n.indented+("{"==i?0:r):n.align?n.column+(o?0:1):n.indented+(o?0:r)},electricChars:"{}"}}),e.defineMIME("text/x-ecl","ecl")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("eiffel",function(){function e(e){for(var t={},n=0,r=e.length;n>"]);function r(e,t){if(e.eatSpace())return null;var n,r,i,o=e.next();return'"'==o||"'"==o?function(e,t,n){return n.tokenize.push(e),e(t,n)}((n=o,r="string",function(e,t){for(var o,a=!1;null!=(o=e.next());){if(o==n&&(i||!a)){t.tokenize.pop();break}a=!a&&"%"==o}return r}),e,t):"-"==o&&e.eat("-")?(e.skipToEnd(),"comment"):":"==o&&e.eat("=")?"operator":/[0-9]/.test(o)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"ident"):/[a-zA-Z_0-9]/.test(o)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"ident"):/[=+\-\/*^%<>~]/.test(o)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}return{startState:function(){return{tokenize:[r]}},token:function(e,r){var i=r.tokenize[r.tokenize.length-1](e,r);if("ident"==i){var o=e.current();i=t.propertyIsEnumerable(e.current())?"keyword":n.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(o)?"tag":/^0[bB][0-1]+$/g.test(o)?"number":/^0[cC][0-7]+$/g.test(o)?"number":/^0[xX][a-fA-F0-9]+$/g.test(o)?"number":/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(o)?"number":/^[0-9]+$/g.test(o)?"number":"variable"}return i},lineComment:"--"}}),e.defineMIME("text/x-eiffel","eiffel")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("elm",function(){function e(e,t,n){return t(n),n(e,t)}var t=/[a-z_]/,n=/[A-Z]/,r=/[0-9]/,i=/[0-9A-Fa-f]/,o=/[0-7]/,a=/[a-z_A-Z0-9\']/,s=/[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]/,l=/[(),;[\]`{}]/,c=/[ \t\v\f]/;function u(){return function(f,p){if(f.eatWhile(c))return null;var m=f.next();if(l.test(m)){if("{"==m&&f.eat("-")){var h="comment";return f.eat("#")&&(h="meta"),e(f,p,function e(t,n){return 0==n?u():function(r,i){for(var o=n;!r.eol();){var a=r.next();if("{"==a&&r.eat("-"))++o;else if("-"==a&&r.eat("}")&&0==--o)return i(u()),t}return i(e(t,o)),t}}(h,1))}return null}if("'"==m)return f.eat("\\"),f.next(),f.eat("'")?"string":"error";if('"'==m)return e(f,p,d);if(n.test(m))return f.eatWhile(a),f.eat(".")?"qualifier":"variable-2";if(t.test(m)){var g=1===f.pos;return f.eatWhile(a),g?"type":"variable"}if(r.test(m)){if("0"==m){if(f.eat(/[xX]/))return f.eatWhile(i),"integer";if(f.eat(/[oO]/))return f.eatWhile(o),"number"}f.eatWhile(r);var h="number";return f.eat(".")&&(h="number",f.eatWhile(r)),f.eat(/[eE]/)&&(h="number",f.eat(/[-+]/),f.eatWhile(r)),h}return s.test(m)?"-"==m&&f.eat(/-/)&&(f.eatWhile(/-/),!f.eat(s))?(f.skipToEnd(),"comment"):(f.eatWhile(s),"builtin"):"error"}}function d(e,t){for(;!e.eol();){var n=e.next();if('"'==n)return t(u()),"string";if("\\"==n){if(e.eol()||e.eat(c))return t(f),"string";e.eat("&")||e.next()}}return t(u()),"error"}function f(t,n){return t.eat("\\")?e(t,n,d):(t.next(),n(u()),"error")}var p=function(){for(var e={},t=["case","of","as","if","then","else","let","in","infix","infixl","infixr","type","alias","input","output","foreign","loopback","module","where","import","exposing","_","..","|",":","=","\\",'"',"->","<-"],n=t.length;n--;)e[t[n]]="keyword";return e}();return{startState:function(){return{f:u()}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,function(e){t.f=e}),r=e.current();return p.hasOwnProperty(r)?p[r]:n}}}),e.defineMIME("text/x-elm","elm")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMIME("text/x-erlang","erlang"),e.defineMode("erlang",function(t){var n=["-type","-spec","-export_type","-opaque"],r=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],i=/[\->,;]/,o=["->",";",","],a=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],s=/[\+\-\*\/<>=\|:!]/,l=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],c=/[<\(\[\{]/,u=["<<","(","[","{"],d=/[>\)\]\}]/,f=["}","]",")",">>"],p=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],m=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],h=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,g=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function v(e,t,n){if(1==e.current().length&&t.test(e.current())){for(e.backUp(1);t.test(e.peek());)if(e.next(),w(e.current(),n))return!0;e.backUp(e.current().length-1)}return!1}function b(e,t,n){if(1==e.current().length&&t.test(e.current())){for(;t.test(e.peek());)e.next();for(;01&&"fun"===e[t].type&&"fun"===e[t-1].token)return e.slice(0,t-1);switch(e[t].token){case"}":return C(e,{g:["{"]});case"]":return C(e,{i:["["]});case")":return C(e,{i:["("]});case">>":return C(e,{i:["<<"]});case"end":return C(e,{i:["begin","case","fun","if","receive","try"]});case",":return C(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return C(e,{r:["when"],m:["try","if","case","receive"]});case";":return C(e,{E:["case","fun","if","receive","try","when"]});case"catch":return C(e,{e:["try"]});case"of":return C(e,{e:["case"]});case"after":return C(e,{e:["receive","try"]});default:return e}}(e.tokenStack))}(e,function(e,t){return S(t.current(),t.column(),t.indentation(),e)}(n,t)),n){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function S(e,t,n,r){return{token:e,column:t,indent:n,type:r}}function E(e){return S(e,0,0,e)}function T(e,t){var n=e.tokenStack.length,r=t||1;return!(n>|\|+|\(/))&&0===o.index?o[0]:"",l=T(n,1),c=T(n,2);return n.in_string||n.in_atom?e.Pass:c?"when"==l.token?l.column+a:"when"===s&&"function"===c.type?c.indent+a:"("===s&&"fun"===l.token?l.column+3:"catch"===s&&(i=I(n,["try"]))?i.column:w(s,["end","after","of"])?(i=I(n,["begin","case","fun","if","receive","try"]))?i.column:e.Pass:w(s,f)?(i=I(n,u))?i.column:e.Pass:w(l.token,[",","|","||"])||w(s,[",","|","||"])?(i=function(e){var t=e.tokenStack.slice(0,-1),n=A(t,"type",["open_paren"]);return!!z(t[n])&&t[n]}(n))?i.column+i.token.length:a:"->"==l.token?w(c.token,["receive","case","if","try"])?c.column+a+a:c.column+a:w(l.token,u)?l.column+l.token.length:(i=function(e){var t=e.tokenStack,n=A(t,"type",["open_paren","separator","keyword"]),r=A(t,"type",["operator"]);return z(n)&&z(r)&&n|\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],meta:{dontIndentStates:["start","vocabulary","string","string3","stack"],lineComment:["!","#!"]}}),e.defineMIME("text/x-factor","factor")}(n(0),n(23))},function(e,t,n){!function(e){"use strict";e.defineMode("fcl",function(e){var t=e.indentUnit,n={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},r={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},i={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},o={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},a=/[+\-*&^%:=<>!|\/]/;function s(e,t){var s=e.next();if(/[\d\.]/.test(s))return"."==s?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==s?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==s||"("==s){if(e.eat("*"))return t.tokenize=l,l(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(a.test(s))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var c=e.current().toLowerCase();return n.propertyIsEnumerable(c)||r.propertyIsEnumerable(c)||i.propertyIsEnumerable(c)?"keyword":o.propertyIsEnumerable(c)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if(("/"==n||")"==n)&&r){t.tokenize=s;break}r="*"==n}return"comment"}function c(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}return{startState:function(e){return{tokenize:null,context:new c((e||0)-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var o=(t.tokenize||s)(e,t);if("comment"==o)return o;null==n.align&&(n.align=!0);var a=e.current().toLowerCase();return r.propertyIsEnumerable(a)?function(e,t,n){e.context=new c(e.indented,t,n,null,e.context)}(t,e.column(),"end_block"):i.propertyIsEnumerable(a)&&function(e){e.context.prev&&("end_block"==e.context.type&&(e.indented=e.context.indented),e.context=e.context.prev)}(t),t.startOfLine=!1,o},indent:function(e,n){if(e.tokenize!=s&&null!=e.tokenize)return 0;var r=e.context,o=i.propertyIsEnumerable(n);return r.align?r.column+(o?0:1):r.indented+(o?0:t)},electricChars:"ryk",fold:"brace",blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:"//"}}),e.defineMIME("text/x-fcl","fcl")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){var t=[];return e.split(" ").forEach(function(e){t.push({name:e})}),t}var n=t("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),r=t("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");e.defineMode("forth",function(){function e(e,t){var n;for(n=e.length-1;n>=0;n--)if(e[n].name===t.toUpperCase())return e[n]}return{startState:function(){return{state:"",base:10,coreWordList:n,immediateWordList:r,wordList:[]}},token:function(t,n){var r;if(t.eatSpace())return null;if(""===n.state){if(t.match(/^(\]|:NONAME)(\s|$)/i))return n.state=" compilation","builtin compilation";if(r=t.match(/^(\:)\s+(\S+)(\s|$)+/))return n.wordList.push({name:r[2].toUpperCase()}),n.state=" compilation","def"+n.state;if(r=t.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return n.wordList.push({name:r[2].toUpperCase()}),"def"+n.state;if(r=t.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"+n.state}else{if(t.match(/^(\;|\[)(\s)/))return n.state="",t.backUp(1),"builtin compilation";if(t.match(/^(\;|\[)($)/))return n.state="","builtin compilation";if(t.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(r=t.match(/^(\S+)(\s+|$)/))?void 0!==e(n.wordList,r[1])?"variable"+n.state:"\\"===r[1]?(t.skipToEnd(),"comment"+n.state):void 0!==e(n.coreWordList,r[1])?"builtin"+n.state:void 0!==e(n.immediateWordList,r[1])?"keyword"+n.state:"("===r[1]?(t.eatWhile(function(e){return")"!==e}),t.eat(")"),"comment"+n.state):".("===r[1]?(t.eatWhile(function(e){return")"!==e}),t.eat(")"),"string"+n.state):'S"'===r[1]||'."'===r[1]||'C"'===r[1]?(t.eatWhile(function(e){return'"'!==e}),t.eat('"'),"string"+n.state):r[1]-68719476735?"number"+n.state:"atom"+n.state:void 0}}}),e.defineMIME("text/x-forth","forth")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("fortran",function(){function e(e){for(var t={},n=0;n\/\:]/,o=new RegExp("(.and.|.or.|.eq.|.lt.|.le.|.gt.|.ge.|.ne.|.not.|.eqv.|.neqv.)","i");return{startState:function(){return{tokenize:null}},token:function(e,a){if(e.eatSpace())return null;var s=(a.tokenize||function(e,a){if(e.match(o))return"operator";var s,l=e.next();if("!"==l)return e.skipToEnd(),"comment";if('"'==l||"'"==l)return a.tokenize=(s=l,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==s&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=null),"string"}),a.tokenize(e,a);if(/[\[\]\(\),]/.test(l))return null;if(/\d/.test(l))return e.eatWhile(/[\w\.]/),"number";if(i.test(l))return e.eatWhile(i),"operator";e.eatWhile(/[\w\$_]/);var c=e.current().toLowerCase();return t.hasOwnProperty(c)?"keyword":n.hasOwnProperty(c)||r.hasOwnProperty(c)?"builtin":"variable"})(e,a);return s}}}),e.defineMIME("text/x-fortran","fortran")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("gas",function(e,t){var n=[],r="",i={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},o={},a=(t.architecture||"x86").toLowerCase();function s(e,t){for(var n,r=!1;null!=(n=e.next());){if("/"===n&&r){t.tokenize=null;break}r="*"===n}return"comment"}return"x86"===a?(r="#",o.ax="variable",o.eax="variable-2",o.rax="variable-3",o.bx="variable",o.ebx="variable-2",o.rbx="variable-3",o.cx="variable",o.ecx="variable-2",o.rcx="variable-3",o.dx="variable",o.edx="variable-2",o.rdx="variable-3",o.si="variable",o.esi="variable-2",o.rsi="variable-3",o.di="variable",o.edi="variable-2",o.rdi="variable-3",o.sp="variable",o.esp="variable-2",o.rsp="variable-3",o.bp="variable",o.ebp="variable-2",o.rbp="variable-3",o.ip="variable",o.eip="variable-2",o.rip="variable-3",o.cs="keyword",o.ds="keyword",o.ss="keyword",o.es="keyword",o.fs="keyword",o.gs="keyword"):"arm"!==a&&"armv6"!==a||(r="@",i.syntax="builtin",o.r0="variable",o.r1="variable",o.r2="variable",o.r3="variable",o.r4="variable",o.r5="variable",o.r6="variable",o.r7="variable",o.r8="variable",o.r9="variable",o.r10="variable",o.r11="variable",o.r12="variable",o.sp="variable-2",o.lr="variable-2",o.pc="variable-2",o.r13=o.sp,o.r14=o.lr,o.r15=o.pc,n.push(function(e,t){if("#"===e)return t.eatWhile(/\w/),"number"})),{startState:function(){return{tokenize:null}},token:function(e,t){if(t.tokenize)return t.tokenize(e,t);if(e.eatSpace())return null;var a,l,c=e.next();if("/"===c&&e.eat("*"))return t.tokenize=s,s(e,t);if(c===r)return e.skipToEnd(),"comment";if('"'===c)return function(e,t){for(var n,r=!1;null!=(n=e.next());){if(n===t&&!r)return!1;r=!r&&"\\"===n}}(e,'"'),"string";if("."===c)return e.eatWhile(/\w/),l=e.current().toLowerCase(),(a=i[l])||null;if("="===c)return e.eatWhile(/\w/),"tag";if("{"===c)return"braket";if("}"===c)return"braket";if(/\d/.test(c))return"0"===c&&e.eat("x")?(e.eatWhile(/[0-9a-fA-F]/),"number"):(e.eatWhile(/\d/),"number");if(/\w/.test(c))return e.eatWhile(/\w/),e.eat(":")?"tag":(l=e.current().toLowerCase(),(a=o[l])||null);for(var u=0;u]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;e.defineMode("gfm",function(n,r){var i=0,o={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(e){return{code:e.code,codeBlock:e.codeBlock,ateSpace:e.ateSpace}},token:function(e,n){if(n.combineTokens=null,n.codeBlock)return e.match(/^```+/)?(n.codeBlock=!1,null):(e.skipToEnd(),null);if(e.sol()&&(n.code=!1),e.sol()&&e.match(/^```+/))return e.skipToEnd(),n.codeBlock=!0,null;if("`"===e.peek()){e.next();var o=e.pos;e.eatWhile("`");var a=1+e.pos-o;return n.code?a===i&&(n.code=!1):(i=a,n.code=!0),null}if(n.code)return e.next(),null;if(e.eatSpace())return n.ateSpace=!0,null;if((e.sol()||n.ateSpace)&&(n.ateSpace=!1,!1!==r.gitHubSpice)){if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return n.combineTokens=!0,"link";if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return n.combineTokens=!0,"link"}return e.match(t)&&"]("!=e.string.slice(e.start-2,e.start)&&(0==e.start||/\W/.test(e.string.charAt(e.start-1)))?(n.combineTokens=!0,"link"):(e.next(),null)},blankLine:function(e){return e.code=!1,null}},a={taskLists:!0,strikethrough:!0,emoji:!0};for(var s in r)a[s]=r[s];return a.name="markdown",e.overlayMode(e.getMode(n,a),o)},"markdown"),e.defineMIME("text/x-gfm","gfm")}(n(0),n(35),n(22))},function(e,t,n){!function(e){"use strict";e.defineMode("gherkin",function(){return{startState:function(){return{lineNumber:0,tableHeaderLine:!1,allowFeature:!0,allowBackground:!1,allowScenario:!1,allowSteps:!1,allowPlaceholders:!1,allowMultilineArgument:!1,inMultilineString:!1,inMultilineTable:!1,inKeywordLine:!1}},token:function(e,t){if(e.sol()&&(t.lineNumber++,t.inKeywordLine=!1,t.inMultilineTable&&(t.tableHeaderLine=!1,e.match(/\s*\|/,!1)||(t.allowMultilineArgument=!1,t.inMultilineTable=!1))),e.eatSpace(),t.allowMultilineArgument){if(t.inMultilineString)return e.match('"""')?(t.inMultilineString=!1,t.allowMultilineArgument=!1):e.match(/.*/),"string";if(t.inMultilineTable)return e.match(/\|\s*/)?"bracket":(e.match(/[^\|]*/),t.tableHeaderLine?"header":"string");if(e.match('"""'))return t.inMultilineString=!0,"string";if(e.match("|"))return t.inMultilineTable=!0,t.tableHeaderLine=!0,"bracket"}return e.match(/#.*/)?"comment":!t.inKeywordLine&&e.match(/@\S+/)?"tag":!t.inKeywordLine&&t.allowFeature&&e.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)?(t.allowScenario=!0,t.allowBackground=!0,t.allowPlaceholders=!1,t.allowSteps=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowBackground&&e.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)?(t.allowPlaceholders=!0,t.allowSteps=!0,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):t.allowScenario&&e.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowSteps&&e.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)?(t.inStep=!0,t.allowPlaceholders=!0,t.allowMultilineArgument=!0,t.inKeywordLine=!0,"keyword"):e.match(/"[^"]*"?/)?"string":t.allowPlaceholders&&e.match(/<[^>]*>?/)?"variable":(e.next(),e.eatWhile(/[^@"<#]/),null)}}}),e.defineMIME("text/x-feature","gherkin")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("go",function(t){var n,r=t.indentUnit,i={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0},o={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},a=/[+\-*&^%:=<>!|\/]/;function s(e,t){var r,c=e.next();if('"'==c||"'"==c||"`"==c)return t.tokenize=(r=c,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"`"!=r&&"\\"==n}return(o||!i&&"`"!=r)&&(t.tokenize=s),"string"}),t.tokenize(e,t);if(/[\d\.]/.test(c))return"."==c?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==c?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(c))return n=c,null;if("/"==c){if(e.eat("*"))return t.tokenize=l,l(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(a.test(c))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var u=e.current();return i.propertyIsEnumerable(u)?("case"!=u&&"default"!=u||(n="case"),"keyword"):o.propertyIsEnumerable(u)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=s;break}r="*"==n}return"comment"}function c(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function u(e,t,n){return e.context=new c(e.indented,t,n,null,e.context)}function d(e){if(e.context.prev){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}}return{startState:function(e){return{tokenize:null,context:new c((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"case"==r.type&&(r.type="}")),e.eatSpace())return null;n=null;var i=(t.tokenize||s)(e,t);return"comment"==i?i:(null==r.align&&(r.align=!0),"{"==n?u(t,e.column(),"}"):"["==n?u(t,e.column(),"]"):"("==n?u(t,e.column(),")"):"case"==n?r.type="case":"}"==n&&"}"==r.type?d(t):n==r.type&&d(t),t.startOfLine=!1,i)},indent:function(t,n){if(t.tokenize!=s&&null!=t.tokenize)return e.Pass;var i=t.context,o=n&&n.charAt(0);if("case"==i.type&&/^(?:case|default)\b/.test(n))return t.context.type="}",i.indented;var a=o==i.type;return i.align?i.column+(a?0:1):i.indented+(a?0:r)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),e.defineMIME("text/x-go","go")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("groovy",function(t){function n(e){for(var t={},n=e.split(" "),r=0;r"))return r="->",null;if(/[+\-*&%=<>!?|\/~]/.test(n))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),"@"==n)return e.eatWhile(/[\w\$_\.]/),"meta";if("."==t.lastToken)return"property";if(e.eat(":"))return r="proplabel","property";var l=e.current();return s.propertyIsEnumerable(l)?"atom":i.propertyIsEnumerable(l)?(o.propertyIsEnumerable(l)?r="newstatement":a.propertyIsEnumerable(l)&&(r="standalone"),"keyword"):"variable"}function c(e,t,n){var r=!1;if("/"!=e&&t.eat(e)){if(!t.eat(e))return"string";r=!0}function i(t,n){for(var i,o=!1,a=!r;null!=(i=t.next());){if(i==e&&!o){if(!r)break;if(t.match(e+e)){a=!0;break}}if('"'==e&&"$"==i&&!o&&t.eat("{"))return n.tokenize.push(u()),"string";o=!o&&"\\"==i}return a&&n.tokenize.pop(),"string"}return n.tokenize.push(i),i(t,n)}function u(){var e=1;function t(t,n){if("}"==t.peek()){if(0==--e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)}else"{"==t.peek()&&e++;return l(t,n)}return t.isBase=!0,t}function d(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize.pop();break}r="*"==n}return"comment"}function f(e,t){return!e||"operator"==e||"->"==e||/[\.\[\{\(,;:]/.test(e)||"newstatement"==e||"keyword"==e||"proplabel"==e||"standalone"==e&&!t}function p(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function m(e,t,n){return e.context=new p(e.indented,t,n,null,e.context)}function h(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return l.isBase=!0,{startState:function(e){return{tokenize:[l],context:new p((e||0)-t.indentUnit,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"statement"!=n.type||f(t.lastToken,!0)||(h(t),n=t.context)),e.eatSpace())return null;r=null;var i=t.tokenize[t.tokenize.length-1](e,t);if("comment"==i)return i;if(null==n.align&&(n.align=!0),";"!=r&&":"!=r||"statement"!=n.type)if("->"==r&&"statement"==n.type&&"}"==n.prev.type)h(t),t.context.align=!1;else if("{"==r)m(t,e.column(),"}");else if("["==r)m(t,e.column(),"]");else if("("==r)m(t,e.column(),")");else if("}"==r){for(;"statement"==n.type;)n=h(t);for("}"==n.type&&(n=h(t));"statement"==n.type;)n=h(t)}else r==n.type?h(t):("}"==n.type||"top"==n.type||"statement"==n.type&&"newstatement"==r)&&m(t,e.column(),"statement");else h(t);return t.startOfLine=!1,t.lastToken=r||i,i},indent:function(n,r){if(!n.tokenize[n.tokenize.length-1].isBase)return e.Pass;var i=r&&r.charAt(0),o=n.context;"statement"!=o.type||f(n.lastToken,!0)||(o=o.prev);var a=i==o.type;return"statement"==o.type?o.indented+("{"==i?0:t.indentUnit):o.align?o.column+(a?0:1):o.indented+(a?0:t.indentUnit)},electricChars:"{}",closeBrackets:{triples:"'\""},fold:"brace"}}),e.defineMIME("text/x-groovy","groovy")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("haml",function(t){var n=e.getMode(t,{name:"htmlmixed"}),r=e.getMode(t,"ruby");function i(e){return function(t,n){var r=t.peek();return r==e&&1==n.rubyState.tokenize.length?(t.next(),n.tokenize=a,"closeAttributeTag"):o(t,n)}}function o(e,t){return e.match("-#")?(e.skipToEnd(),"comment"):r.token(e,t.rubyState)}function a(e,t){var r=e.peek();if("comment"==t.previousToken.style&&t.indented>t.previousToken.indented)return e.skipToEnd(),"commentLine";if(t.startOfLine){if("!"==r&&e.match("!!"))return e.skipToEnd(),"tag";if(e.match(/^%[\w:#\.]+=/))return t.tokenize=o,"hamlTag";if(e.match(/^%[\w:]+/))return"hamlTag";if("/"==r)return e.skipToEnd(),"comment"}if((t.startOfLine||"hamlTag"==t.previousToken.style)&&("#"==r||"."==r))return e.match(/[\w-#\.]*/),"hamlAttribute";if(t.startOfLine&&!e.match("--\x3e",!1)&&("="==r||"-"==r))return t.tokenize=o,t.tokenize(e,t);if("hamlTag"==t.previousToken.style||"closeAttributeTag"==t.previousToken.style||"hamlAttribute"==t.previousToken.style){if("("==r)return t.tokenize=i(")"),t.tokenize(e,t);if("{"==r&&!e.match(/^\{%.*/))return t.tokenize=i("}"),t.tokenize(e,t)}return n.token(e,t.htmlState)}return{startState:function(){var t=e.startState(n),i=e.startState(r);return{htmlState:t,rubyState:i,indented:0,previousToken:{style:null,indented:0},tokenize:a}},copyState:function(t){return{htmlState:e.copyState(n,t.htmlState),rubyState:e.copyState(r,t.rubyState),indented:t.indented,previousToken:t.previousToken,tokenize:t.tokenize}},token:function(e,t){if(e.sol()&&(t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var n=t.tokenize(e,t);if(t.startOfLine=!1,n&&"commentLine"!=n&&(t.previousToken={style:n,indented:t.indented}),e.eol()&&t.tokenize==o){e.backUp(1);var r=e.peek();e.next(),r&&","!=r&&(t.tokenize=a)}return"hamlTag"==n?n="tag":"commentLine"==n?n="comment":"hamlAttribute"==n?n="attribute":"closeAttributeTag"==n&&(n=null),n}}},"htmlmixed","ruby"),e.defineMIME("text/x-haml","haml")}(n(0),n(6),n(27))},function(e,t,n){!function(e){"use strict";e.defineMode("haskell-literate",function(t,n){var r=e.getMode(t,n&&n.base||"haskell");return{startState:function(){return{inCode:!1,baseState:e.startState(r)}},token:function(e,t){return e.sol()&&(t.inCode=e.eat(">"))?"meta":t.inCode?r.token(e,t.baseState):(e.skipToEnd(),"comment")},innerMode:function(e){return e.inCode?{state:e.baseState,mode:r}:null}}},"haskell"),e.defineMIME("text/x-literate-haskell","haskell-literate")}(n(0),n(38))},function(e,t,n){!function(e){"use strict";e.defineMode("haxe",function(e,t){var n=e.indentUnit;function r(e){return{type:e,style:"keyword"}}var i,o=r("keyword a"),a=r("keyword b"),s=r("keyword c"),l=r("operator"),c={type:"atom",style:"atom"},u={type:"attribute",style:"attribute"},d=r("typedef"),f={if:o,while:o,else:a,do:a,try:a,return:s,break:s,continue:s,new:s,throw:s,var:r("var"),inline:u,static:u,using:r("import"),public:u,private:u,cast:r("cast"),import:r("import"),macro:r("macro"),function:r("function"),catch:r("catch"),untyped:r("untyped"),callback:r("cb"),for:r("for"),switch:r("switch"),case:r("case"),default:r("default"),in:l,never:r("property_access"),trace:r("trace"),class:d,abstract:d,enum:d,interface:d,typedef:d,extends:d,implements:d,dynamic:d,true:c,false:c,null:c},p=/[+\-*&%=<>!?|]/;function m(e,t,n){return t.tokenize=n,n(e,t)}function h(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t&&!r)return!0;r=!r&&"\\"==n}}function g(e,t,n){return d=e,i=n,t}function v(e,t){var n=e.next();if('"'==n||"'"==n)return m(e,t,(r=n,function(e,t){return h(e,r)&&(t.tokenize=v),g("string","string")}));if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("0"==n&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),g("number","number");if(/\d/.test(n)||"-"==n&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),g("number","number");if(t.reAllowed&&"~"==n&&e.eat(/\//))return h(e,"/"),e.eatWhile(/[gimsu]/),g("regexp","string-2");if("/"==n)return e.eat("*")?m(e,t,b):e.eat("/")?(e.skipToEnd(),g("comment","comment")):(e.eatWhile(p),g("operator",null,e.current()));if("#"==n)return e.skipToEnd(),g("conditional","meta");if("@"==n)return e.eat(/:/),e.eatWhile(/[\w_]/),g("metadata","meta");if(p.test(n))return e.eatWhile(p),g("operator",null,e.current());if(/[A-Z]/.test(n))return e.eatWhile(/[\w_<>]/),g("type","variable-3",i=e.current());e.eatWhile(/[\w_]/);var r,i=e.current(),o=f.propertyIsEnumerable(i)&&f[i];return o&&t.kwAllowed?g(o.type,o.style,i):g("variable","variable",i)}function b(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=v;break}r="*"==n}return g("comment","comment")}var y={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function k(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function x(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function w(e,t){if(/[a-z]/.test(t.charAt(0)))return!1;for(var n=e.importedtypes.length,r=0;r=0;e--)S.cc.push(arguments[e])}function T(){return E.apply(null,arguments),!0}function C(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function M(e){var t=S.state;if(t.context){if(S.marked="def",C(e,t.localVars))return;t.localVars={name:e,next:t.localVars}}else if(t.globalVars){if(C(e,t.globalVars))return;t.globalVars={name:e,next:t.globalVars}}}var I={name:"this",next:null};function A(){S.state.context||(S.state.localVars=I),S.state.context={prev:S.state.context,vars:S.state.localVars}}function z(){S.state.localVars=S.state.context.vars,S.state.context=S.state.context.prev}function L(e,t){var n=function(){var n=S.state;n.lexical=new k(n.indented,S.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function O(){var e=S.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function N(e){return function t(n){return n==e?T():";"==e?E():T(t)}}function R(e){return"@"==e?T(j):"var"==e?T(L("vardef"),K,N(";"),O):"keyword a"==e?T(L("form"),D,R,O):"keyword b"==e?T(L("form"),R,O):"{"==e?T(L("}"),A,Z,O,z):";"==e?T():"attribute"==e?T(F):"function"==e?T(J):"for"==e?T(L("form"),N("("),L(")"),X,N(")"),O,R,O):"variable"==e?T(L("stat"),B):"switch"==e?T(L("form"),D,L("}","switch"),N("{"),Z,O,O):"case"==e?T(D,N(":")):"default"==e?T(N(":")):"catch"==e?T(L("form"),A,N("("),re,N(")"),R,O,z):"import"==e?T(U,N(";")):"typedef"==e?T(W):E(L("stat"),D,N(";"),O)}function D(e){return y.hasOwnProperty(e)?T($):"type"==e?T($):"function"==e?T(J):"keyword c"==e?T(P):"("==e?T(L(")"),P,N(")"),O,$):"operator"==e?T(D):"["==e?T(L("]"),V(P,"]"),O,$):"{"==e?T(L("}"),V(G,"}"),O,$):T()}function P(e){return e.match(/[;\}\)\],]/)?E():E(D)}function $(e,t){return"operator"==e&&/\+\+|--/.test(t)?T($):"operator"==e||":"==e?T(D):";"!=e?"("==e?T(L(")"),V(D,")"),O,$):"."==e?T(H,$):"["==e?T(L("]"),D,N("]"),O,$):void 0:void 0}function F(e){return"attribute"==e?T(F):"function"==e?T(J):"var"==e?T(K):void 0}function j(e){return":"==e?T(j):"variable"==e?T(j):"("==e?T(L(")"),V(q,")"),O,R):void 0}function q(e){if("variable"==e)return T()}function U(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(_(t),T()):"variable"==e||"property"==e||"."==e||"*"==t?T(U):void 0}function W(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(_(t),T()):"type"==e&&/[A-Z]/.test(t.charAt(0))?T():void 0}function B(e){return":"==e?T(O,R):E($,N(";"),O)}function H(e){if("variable"==e)return S.marked="property",T()}function G(e){if("variable"==e&&(S.marked="property"),y.hasOwnProperty(e))return T(N(":"),D)}function V(e,t){function n(r){return","==r?T(e,n):r==t?T():T(N(t))}return function(r){return r==t?T():E(e,n)}}function Z(e){return"}"==e?T():E(R,Z)}function K(e,t){return"variable"==e?(M(t),T(ee,Y)):T()}function Y(e,t){return"="==t?T(D,Y):","==e?T(K):void 0}function X(e,t){return"variable"==e?(M(t),T(Q,D)):E()}function Q(e,t){if("in"==t)return T()}function J(e,t){return"variable"==e||"type"==e?(M(t),T(J)):"new"==t?T(J):"("==e?T(L(")"),A,V(re,")"),O,ee,R,z):void 0}function ee(e){if(":"==e)return T(te)}function te(e){return"type"==e?T():"variable"==e?T():"{"==e?T(L("}"),V(ne,"}"),O):void 0}function ne(e){if("variable"==e)return T(ee)}function re(e,t){if("variable"==e)return M(t),T(ee)}return z.lex=!0,O.lex=!0,{startState:function(e){var r={tokenize:v,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new k((e||0)-n,0,"block",!1),localVars:t.localVars,importedtypes:["Int","Float","String","Void","Std","Bool","Dynamic","Array"],context:t.localVars&&{vars:t.localVars},indented:0};return t.globalVars&&"object"==typeof t.globalVars&&(r.globalVars=t.globalVars),r},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==d?n:(t.reAllowed=!("operator"!=d&&"keyword c"!=d&&!d.match(/^[\[{}\(,;:]$/)),t.kwAllowed="."!=d,function(e,t,n,r,i){var o=e.cc;for(S.state=e,S.stream=i,S.marked=null,S.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var a=o.length?o.pop():R;if(a(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return S.marked?S.marked:"variable"==n&&x(e,r)?"variable-2":"variable"==n&&w(e,r)?"variable-3":t}}}(t,n,d,i,e))},indent:function(e,t){if(e.tokenize!=v)return 0;var r=t&&t.charAt(0),i=e.lexical;"stat"==i.type&&"}"==r&&(i=i.prev);var o=i.type,a=r==o;return"vardef"==o?i.indented+4:"form"==o&&"{"==r?i.indented:"stat"==o||"form"==o?i.indented+n:"switch"!=i.info||a?i.align?i.column+(a?0:1):i.indented+(a?0:n):i.indented+(/^(?:case|default)\b/.test(t)?n:2*n)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),e.defineMIME("text/x-haxe","haxe"),e.defineMode("hxml",function(){return{startState:function(){return{define:!1,inString:!1}},token:function(e,t){var n=e.peek(),r=e.sol();if("#"==n)return e.skipToEnd(),"comment";if(r&&"-"==n){var i="variable-2";return e.eat(/-/),"-"==e.peek()&&(e.eat(/-/),i="keyword a"),"D"==e.peek()&&(e.eat(/[D]/),i="keyword c",t.define=!0),e.eatWhile(/[A-Z]/i),i}var n=e.peek();return 0==t.inString&&"'"==n&&(t.inString=!0,e.next()),1==t.inString?(e.skipTo("'")||e.skipToEnd(),"'"==e.peek()&&(e.next(),t.inString=!1),"string"):(e.next(),null)},lineComment:"#"}}),e.defineMIME("text/x-hxml","hxml")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("htmlembedded",function(t,n){var r=n.closeComment||"--%>";return e.multiplexingMode(e.getMode(t,"htmlmixed"),{open:n.openComment||"<%--",close:r,delimStyle:"comment",mode:{token:function(e){return e.skipTo(r)||e.skipToEnd(),"comment"}}},{open:n.open||n.scriptStartRegex||"<%",close:n.close||n.scriptEndRegex||"%>",mode:e.getMode(t,n.scriptingModeSpec)})},"htmlmixed"),e.defineMIME("application/x-ejs",{name:"htmlembedded",scriptingModeSpec:"javascript"}),e.defineMIME("application/x-aspx",{name:"htmlembedded",scriptingModeSpec:"text/x-csharp"}),e.defineMIME("application/x-jsp",{name:"htmlembedded",scriptingModeSpec:"text/x-java"}),e.defineMIME("application/x-erb",{name:"htmlembedded",scriptingModeSpec:"ruby"})}(n(0),n(6),n(37))},function(e,t,n){!function(e){"use strict";e.defineMode("http",function(){function e(e,t){return e.skipToEnd(),t.cur=a,"error"}function t(t,r){return t.match(/^HTTP\/\d\.\d/)?(r.cur=n,"keyword"):t.match(/^[A-Z]+/)&&/[ \t]/.test(t.peek())?(r.cur=i,"keyword"):e(t,r)}function n(t,n){var i=t.match(/^\d+/);if(!i)return e(t,n);n.cur=r;var o=Number(i[0]);return o>=100&&o<200?"positive informational":o>=200&&o<300?"positive success":o>=300&&o<400?"positive redirect":o>=400&&o<500?"negative client-error":o>=500&&o<600?"negative server-error":"error"}function r(e,t){return e.skipToEnd(),t.cur=a,null}function i(e,t){return e.eatWhile(/\S/),t.cur=o,"string-2"}function o(t,n){return t.match(/^HTTP\/\d\.\d$/)?(n.cur=a,"keyword"):e(t,n)}function a(e){return e.sol()&&!e.eat(/[ \t]/)?e.match(/^.*?:/)?"atom":(e.skipToEnd(),"error"):(e.skipToEnd(),"string")}function s(e){return e.skipToEnd(),null}return{token:function(e,t){var n=t.cur;return n!=a&&n!=s&&e.eatSpace()?null:n(e,t)},blankLine:function(e){e.cur=s},startState:function(){return{cur:t}}}}),e.defineMIME("message/http","http")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var n=["a_correlate","abs","acos","adapt_hist_equal","alog","alog2","alog10","amoeba","annotate","app_user_dir","app_user_dir_query","arg_present","array_equal","array_indices","arrow","ascii_template","asin","assoc","atan","axis","axis","bandpass_filter","bandreject_filter","barplot","bar_plot","beseli","beselj","beselk","besely","beta","biginteger","bilinear","bin_date","binary_template","bindgen","binomial","bit_ffs","bit_population","blas_axpy","blk_con","boolarr","boolean","boxplot","box_cursor","breakpoint","broyden","bubbleplot","butterworth","bytarr","byte","byteorder","bytscl","c_correlate","calendar","caldat","call_external","call_function","call_method","call_procedure","canny","catch","cd","cdf","ceil","chebyshev","check_math","chisqr_cvf","chisqr_pdf","choldc","cholsol","cindgen","cir_3pnt","clipboard","close","clust_wts","cluster","cluster_tree","cmyk_convert","code_coverage","color_convert","color_exchange","color_quan","color_range_map","colorbar","colorize_sample","colormap_applicable","colormap_gradient","colormap_rotation","colortable","comfit","command_line_args","common","compile_opt","complex","complexarr","complexround","compute_mesh_normals","cond","congrid","conj","constrained_min","contour","contour","convert_coord","convol","convol_fft","coord2to3","copy_lun","correlate","cos","cosh","cpu","cramer","createboxplotdata","create_cursor","create_struct","create_view","crossp","crvlength","ct_luminance","cti_test","cursor","curvefit","cv_coord","cvttobm","cw_animate","cw_animate_getp","cw_animate_load","cw_animate_run","cw_arcball","cw_bgroup","cw_clr_index","cw_colorsel","cw_defroi","cw_field","cw_filesel","cw_form","cw_fslider","cw_light_editor","cw_light_editor_get","cw_light_editor_set","cw_orient","cw_palette_editor","cw_palette_editor_get","cw_palette_editor_set","cw_pdmenu","cw_rgbslider","cw_tmpl","cw_zoom","db_exists","dblarr","dcindgen","dcomplex","dcomplexarr","define_key","define_msgblk","define_msgblk_from_file","defroi","defsysv","delvar","dendro_plot","dendrogram","deriv","derivsig","determ","device","dfpmin","diag_matrix","dialog_dbconnect","dialog_message","dialog_pickfile","dialog_printersetup","dialog_printjob","dialog_read_image","dialog_write_image","dictionary","digital_filter","dilate","dindgen","dissolve","dist","distance_measure","dlm_load","dlm_register","doc_library","double","draw_roi","edge_dog","efont","eigenql","eigenvec","ellipse","elmhes","emboss","empty","enable_sysrtn","eof","eos","erase","erf","erfc","erfcx","erode","errorplot","errplot","estimator_filter","execute","exit","exp","expand","expand_path","expint","extrac","extract_slice","f_cvf","f_pdf","factorial","fft","file_basename","file_chmod","file_copy","file_delete","file_dirname","file_expand_path","file_gunzip","file_gzip","file_info","file_lines","file_link","file_mkdir","file_move","file_poll_input","file_readlink","file_same","file_search","file_tar","file_test","file_untar","file_unzip","file_which","file_zip","filepath","findgen","finite","fix","flick","float","floor","flow3","fltarr","flush","format_axis_values","forward_function","free_lun","fstat","fulstr","funct","function","fv_test","fx_root","fz_roots","gamma","gamma_ct","gauss_cvf","gauss_pdf","gauss_smooth","gauss2dfit","gaussfit","gaussian_function","gaussint","get_drive_list","get_dxf_objects","get_kbrd","get_login_info","get_lun","get_screen_size","getenv","getwindows","greg2jul","grib","grid_input","grid_tps","grid3","griddata","gs_iter","h_eq_ct","h_eq_int","hanning","hash","hdf","hdf5","heap_free","heap_gc","heap_nosave","heap_refcount","heap_save","help","hilbert","hist_2d","hist_equal","histogram","hls","hough","hqr","hsv","i18n_multibytetoutf8","i18n_multibytetowidechar","i18n_utf8tomultibyte","i18n_widechartomultibyte","ibeta","icontour","iconvertcoord","idelete","identity","idl_base64","idl_container","idl_validname","idlexbr_assistant","idlitsys_createtool","idlunit","iellipse","igamma","igetcurrent","igetdata","igetid","igetproperty","iimage","image","image_cont","image_statistics","image_threshold","imaginary","imap","indgen","int_2d","int_3d","int_tabulated","intarr","interpol","interpolate","interval_volume","invert","ioctl","iopen","ir_filter","iplot","ipolygon","ipolyline","iputdata","iregister","ireset","iresolve","irotate","isa","isave","iscale","isetcurrent","isetproperty","ishft","isocontour","isosurface","isurface","itext","itranslate","ivector","ivolume","izoom","journal","json_parse","json_serialize","jul2greg","julday","keyword_set","krig2d","kurtosis","kw_test","l64indgen","la_choldc","la_cholmprove","la_cholsol","la_determ","la_eigenproblem","la_eigenql","la_eigenvec","la_elmhes","la_gm_linear_model","la_hqr","la_invert","la_least_square_equality","la_least_squares","la_linear_equation","la_ludc","la_lumprove","la_lusol","la_svd","la_tridc","la_trimprove","la_triql","la_trired","la_trisol","label_date","label_region","ladfit","laguerre","lambda","lambdap","lambertw","laplacian","least_squares_filter","leefilt","legend","legendre","linbcg","lindgen","linfit","linkimage","list","ll_arc_distance","lmfit","lmgr","lngamma","lnp_test","loadct","locale_get","logical_and","logical_or","logical_true","lon64arr","lonarr","long","long64","lsode","lu_complex","ludc","lumprove","lusol","m_correlate","machar","make_array","make_dll","make_rt","map","mapcontinents","mapgrid","map_2points","map_continents","map_grid","map_image","map_patch","map_proj_forward","map_proj_image","map_proj_info","map_proj_init","map_proj_inverse","map_set","matrix_multiply","matrix_power","max","md_test","mean","meanabsdev","mean_filter","median","memory","mesh_clip","mesh_decimate","mesh_issolid","mesh_merge","mesh_numtriangles","mesh_obj","mesh_smooth","mesh_surfacearea","mesh_validate","mesh_volume","message","min","min_curve_surf","mk_html_help","modifyct","moment","morph_close","morph_distance","morph_gradient","morph_hitormiss","morph_open","morph_thin","morph_tophat","multi","n_elements","n_params","n_tags","ncdf","newton","noise_hurl","noise_pick","noise_scatter","noise_slur","norm","obj_class","obj_destroy","obj_hasmethod","obj_isa","obj_new","obj_valid","objarr","on_error","on_ioerror","online_help","openr","openu","openw","oplot","oploterr","orderedhash","p_correlate","parse_url","particle_trace","path_cache","path_sep","pcomp","plot","plot3d","plot","plot_3dbox","plot_field","ploterr","plots","polar_contour","polar_surface","polyfill","polyshade","pnt_line","point_lun","polarplot","poly","poly_2d","poly_area","poly_fit","polyfillv","polygon","polyline","polywarp","popd","powell","pref_commit","pref_get","pref_set","prewitt","primes","print","printf","printd","pro","product","profile","profiler","profiles","project_vol","ps_show_fonts","psafm","pseudo","ptr_free","ptr_new","ptr_valid","ptrarr","pushd","qgrid3","qhull","qromb","qromo","qsimp","query_*","query_ascii","query_bmp","query_csv","query_dicom","query_gif","query_image","query_jpeg","query_jpeg2000","query_mrsid","query_pict","query_png","query_ppm","query_srf","query_tiff","query_video","query_wav","r_correlate","r_test","radon","randomn","randomu","ranks","rdpix","read","readf","read_ascii","read_binary","read_bmp","read_csv","read_dicom","read_gif","read_image","read_interfile","read_jpeg","read_jpeg2000","read_mrsid","read_pict","read_png","read_ppm","read_spr","read_srf","read_sylk","read_tiff","read_video","read_wav","read_wave","read_x11_bitmap","read_xwd","reads","readu","real_part","rebin","recall_commands","recon3","reduce_colors","reform","region_grow","register_cursor","regress","replicate","replicate_inplace","resolve_all","resolve_routine","restore","retall","return","reverse","rk4","roberts","rot","rotate","round","routine_filepath","routine_info","rs_test","s_test","save","savgol","scale3","scale3d","scatterplot","scatterplot3d","scope_level","scope_traceback","scope_varfetch","scope_varname","search2d","search3d","sem_create","sem_delete","sem_lock","sem_release","set_plot","set_shading","setenv","sfit","shade_surf","shade_surf_irr","shade_volume","shift","shift_diff","shmdebug","shmmap","shmunmap","shmvar","show3","showfont","signum","simplex","sin","sindgen","sinh","size","skewness","skip_lun","slicer3","slide_image","smooth","sobel","socket","sort","spawn","sph_4pnt","sph_scat","spher_harm","spl_init","spl_interp","spline","spline_p","sprsab","sprsax","sprsin","sprstp","sqrt","standardize","stddev","stop","strarr","strcmp","strcompress","streamline","streamline","stregex","stretch","string","strjoin","strlen","strlowcase","strmatch","strmessage","strmid","strpos","strput","strsplit","strtrim","struct_assign","struct_hide","strupcase","surface","surface","surfr","svdc","svdfit","svsol","swap_endian","swap_endian_inplace","symbol","systime","t_cvf","t_pdf","t3d","tag_names","tan","tanh","tek_color","temporary","terminal_size","tetra_clip","tetra_surface","tetra_volume","text","thin","thread","threed","tic","time_test2","timegen","timer","timestamp","timestamptovalues","tm_test","toc","total","trace","transpose","tri_surf","triangulate","trigrid","triql","trired","trisol","truncate_lun","ts_coef","ts_diff","ts_fcast","ts_smooth","tv","tvcrs","tvlct","tvrd","tvscl","typename","uindgen","uint","uintarr","ul64indgen","ulindgen","ulon64arr","ulonarr","ulong","ulong64","uniq","unsharp_mask","usersym","value_locate","variance","vector","vector_field","vel","velovect","vert_t3d","voigt","volume","voronoi","voxel_proj","wait","warp_tri","watershed","wdelete","wf_draw","where","widget_base","widget_button","widget_combobox","widget_control","widget_displaycontextmenu","widget_draw","widget_droplist","widget_event","widget_info","widget_label","widget_list","widget_propertysheet","widget_slider","widget_tab","widget_table","widget_text","widget_tree","widget_tree_move","widget_window","wiener_filter","window","window","write_bmp","write_csv","write_gif","write_image","write_jpeg","write_jpeg2000","write_nrif","write_pict","write_png","write_ppm","write_spr","write_srf","write_sylk","write_tiff","write_video","write_wav","write_wave","writeu","wset","wshow","wtn","wv_applet","wv_cwt","wv_cw_wavelet","wv_denoise","wv_dwt","wv_fn_coiflet","wv_fn_daubechies","wv_fn_gaussian","wv_fn_haar","wv_fn_morlet","wv_fn_paul","wv_fn_symlet","wv_import_data","wv_import_wavelet","wv_plot3d_wps","wv_plot_multires","wv_pwt","wv_tool_denoise","xbm_edit","xdisplayfile","xdxf","xfont","xinteranimate","xloadct","xmanager","xmng_tmpl","xmtool","xobjview","xobjview_rotate","xobjview_write_image","xpalette","xpcolor","xplot3d","xregistered","xroi","xsq_test","xsurface","xvaredit","xvolume","xvolume_rotate","xvolume_write_image","xyouts","zlib_compress","zlib_uncompress","zoom","zoom_24"],r=t(n),i=["begin","end","endcase","endfor","endwhile","endif","endrep","endforeach","break","case","continue","for","foreach","goto","if","then","else","repeat","until","switch","while","do","pro","function"],o=t(i);e.registerHelper("hintWords","idl",n.concat(i));var a=new RegExp("^[_a-z¡-￿][_a-z0-9¡-￿]*","i"),s=/[+\-*&=<>\/@#~$]/,l=new RegExp("(and|or|eq|lt|le|gt|ge|ne|not)","i");e.defineMode("idl",function(){return{token:function(e){return function(e){if(e.eatSpace())return null;if(e.match(";"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)?"string":e.match(/^'([^']|(''))*'/)?"string":e.match(o)?"keyword":e.match(r)?"builtin":e.match(a)?"variable":e.match(s)||e.match(l)?"operator":(e.next(),null)}(e)}}}),e.defineMIME("text/x-idl","idl")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("jinja2",function(){var e=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","plural"],t=/^[+\-*&%=<>!?|~^]/,n=/^[:\[\(\{]/,r=["true","false"],i=/^(\d[+\-\*\/])?\d+(\.\d+)?/;function o(o,a){var s=o.peek();if(a.incomment)return o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(a.intag){if(a.operator){if(a.operator=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.sign){if(a.sign=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.instring)return s==a.instring&&(a.instring=!1),o.next(),"string";if("'"==s||'"'==s)return a.instring=s,o.next(),"string";if(o.match(a.intag+"}")||o.eat("-")&&o.match(a.intag+"}"))return a.intag=!1,"tag";if(o.match(t))return a.operator=!0,"operator";if(o.match(n))a.sign=!0;else if(o.eat(" ")||o.sol()){if(o.match(e))return"keyword";if(o.match(r))return"atom";if(o.match(i))return"number";o.sol()&&o.next()}else o.next();return"variable"}if(o.eat("{")){if(o.eat("#"))return a.incomment=!0,o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(s=o.eat(/\{|%/))return a.intag=s,"{"==s&&(a.intag="}"),o.eat("-"),"tag"}o.next()}return e=new RegExp("(("+e.join(")|(")+"))\\b"),r=new RegExp("(("+r.join(")|(")+"))\\b"),{startState:function(){return{tokenize:o}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"{#",blockCommentEnd:"#}"}}),e.defineMIME("text/jinja2","jinja2")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,r){this.state=e,this.mode=t,this.depth=n,this.prev=r}function n(r){return new t(e.copyState(r.mode,r.state),r.mode,r.depth,r.prev&&n(r.prev))}e.defineMode("jsx",function(r,i){var o=e.getMode(r,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),a=e.getMode(r,i&&i.base||"javascript");function s(e){var t=e.tagName;e.tagName=null;var n=o.indent(e,"","");return e.tagName=t,n}function l(n,i){return i.context.mode==o?function(n,i,c){if(2==c.depth)return n.match(/^.*?\*\//)?c.depth=1:n.skipToEnd(),"comment";if("{"==n.peek()){o.skipAttribute(c.state);var u=s(c.state),d=c.state.context;if(d&&n.match(/^[^>]*>\s*$/,!1)){for(;d.prev&&!d.startOfLine;)d=d.prev;d.startOfLine?u-=r.indentUnit:c.prev.state.lexical&&(u=c.prev.state.lexical.indented)}else 1==c.depth&&(u+=r.indentUnit);return i.context=new t(e.startState(a,u),a,0,i.context),null}if(1==c.depth){if("<"==n.peek())return o.skipAttribute(c.state),i.context=new t(e.startState(o,s(c.state)),o,0,i.context),null;if(n.match("//"))return n.skipToEnd(),"comment";if(n.match("/*"))return c.depth=2,l(n,i)}var f,p=o.token(n,c.state),m=n.current();return/\btag\b/.test(p)?/>$/.test(m)?c.state.context?c.depth=0:i.context=i.context.prev:/^-1&&n.backUp(m.length-f),p}(n,i,i.context):function(n,r,i){if("<"==n.peek()&&a.expressionAllowed(n,i.state))return a.skipExpression(i.state),r.context=new t(e.startState(o,a.indent(i.state,"","")),o,0,r.context),null;var s=a.token(n,i.state);if(!s&&null!=i.depth){var l=n.current();"{"==l?i.depth++:"}"==l&&0==--i.depth&&(r.context=r.context.prev)}return s}(n,i,i.context)}return{startState:function(){return{context:new t(e.startState(a),a)}},copyState:function(e){return{context:n(e.context)}},token:l,indent:function(e,t,n){return e.context.mode.indent(e.context.state,t,n)},innerMode:function(e){return e.context}}},"xml","javascript"),e.defineMIME("text/jsx","jsx"),e.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})}(n(0),n(19),n(13))},function(e,t,n){!function(e){"use strict";e.defineMode("julia",function(t,n){function r(e,t){return void 0===t&&(t="\\b"),new RegExp("^(("+e.join(")|(")+"))"+t)}var i=n.operators||r(["[<>]:","[<>=]=","<<=?",">>>?=?","=>","->","\\/\\/","[\\\\%*+\\-<>!=\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),o=n.delimiters||/^[;,()[\]{}]/,a=n.identifiers||/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,s=r(["\\\\[0-7]{1,3}","\\\\x[A-Fa-f0-9]{1,2}","\\\\[abefnrtv0%?'\"\\\\]","([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])"],"'"),l=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],c=["true","false","nothing","NaN","Inf"];e.registerHelper("hintWords","julia",l.concat(c));var u=r(["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"]),d=r(["end","else","elseif","catch","finally"]),f=r(l),p=r(c),m=/^@[_A-Za-z][\w]*/,h=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,g=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/;function v(e){return e.nestedArrays>0}function b(e,t){return void 0===t&&(t=0),e.scopes.length<=t?null:e.scopes[e.scopes.length-(t+1)]}function y(e,t){if(e.match(/^#=/,!1))return t.tokenize=w,t.tokenize(e,t);var n=t.leavingExpr;if(e.sol()&&(n=!1),t.leavingExpr=!1,n&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r,s,l=e.peek();if("#"===l)return e.skipToEnd(),"comment";if("["===l&&(t.scopes.push("["),t.nestedArrays++),"("===l&&(t.scopes.push("("),t.nestedGenerators++),v(t)&&"]"===l){for("if"===b(t)&&t.scopes.pop();"for"===b(t);)t.scopes.pop();t.scopes.pop(),t.nestedArrays--,t.leavingExpr=!0}if(function(e){return e.nestedGenerators>0}(t)&&")"===l){for("if"===b(t)&&t.scopes.pop();"for"===b(t);)t.scopes.pop();t.scopes.pop(),t.nestedGenerators--,t.leavingExpr=!0}if(v(t)){if("end"==t.lastToken&&e.match(/^:/))return"operator";if(e.match(/^end/))return"number"}if((r=e.match(u,!1))&&t.scopes.push(r[0]),e.match(d,!1)&&t.scopes.pop(),e.match(/^::(?![:\$])/))return t.tokenize=x,t.tokenize(e,t);if(!n&&e.match(h)||e.match(/:([<>]:|<<=?|>>>?=?|->|\/\/|\.{2,3}|[\.\\%*+\-<>!\/^|&]=?|[~\?\$])/))return"builtin";if(e.match(i))return"operator";if(e.match(/^\.?\d/,!1)){var c=RegExp(/^im\b/),S=!1;if(e.match(/^\d*\.(?!\.)\d*([Eef][\+\-]?\d+)?/i)&&(S=!0),e.match(/^\d+\.(?!\.)\d*/)&&(S=!0),e.match(/^\.\d+/)&&(S=!0),e.match(/^0x\.[0-9a-f]+p[\+\-]?\d+/i)&&(S=!0),e.match(/^0x[0-9a-f]+/i)&&(S=!0),e.match(/^0b[01]+/i)&&(S=!0),e.match(/^0o[0-7]+/i)&&(S=!0),e.match(/^[1-9]\d*(e[\+\-]?\d+)?/)&&(S=!0),e.match(/^0(?![\dx])/i)&&(S=!0),S)return e.match(c),t.leavingExpr=!0,"number"}if(e.match(/^'/))return t.tokenize=_,t.tokenize(e,t);if(e.match(g))return t.tokenize=('"""'===(s=e.current()).substr(-3)?s='"""':'"'===s.substr(-1)&&(s='"'),function(e,t){if(e.eat("\\"))e.next();else{if(e.match(s))return t.tokenize=y,t.leavingExpr=!0,"string";e.eat(/[`"]/)}return e.eatWhile(/[^\\`"]/),"string"}),t.tokenize(e,t);if(e.match(m))return"meta";if(e.match(o))return null;if(e.match(f))return"keyword";if(e.match(p))return"builtin";var E=t.isDefinition||"function"==t.lastToken||"macro"==t.lastToken||"type"==t.lastToken||"struct"==t.lastToken||"immutable"==t.lastToken;return e.match(a)?E?"."===e.peek()?(t.isDefinition=!0,"variable"):(t.isDefinition=!1,"def"):e.match(/^({[^}]*})*\(/,!1)?(t.tokenize=k,t.tokenize(e,t)):(t.leavingExpr=!0,"variable"):(e.next(),"error")}function k(e,t){var n=e.match(/^(\(\s*)/);if(n&&(t.firstParenPos<0&&(t.firstParenPos=t.scopes.length),t.scopes.push("("),t.charsAdvanced+=n[1].length),"("==b(t)&&e.match(/^\)/)&&(t.scopes.pop(),t.charsAdvanced+=1,t.scopes.length<=t.firstParenPos)){var r=e.match(/^(\s*where\s+[^\s=]+)*\s*?=(?!=)/,!1);return e.backUp(t.charsAdvanced),t.firstParenPos=-1,t.charsAdvanced=0,t.tokenize=y,r?"def":"builtin"}if(e.match(/^$/g,!1)){for(e.backUp(t.charsAdvanced);t.scopes.length>t.firstParenPos;)t.scopes.pop();return t.firstParenPos=-1,t.charsAdvanced=0,t.tokenize=y,"builtin"}return t.charsAdvanced+=e.match(/^([^()]*)/)[1].length,t.tokenize(e,t)}function x(e,t){return e.match(/.*?(?=,|;|{|}|\(|\)|=|$|\s)/),e.match(/^{/)?t.nestedParameters++:e.match(/^}/)&&t.nestedParameters>0&&t.nestedParameters--,t.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():0==t.nestedParameters&&(t.tokenize=y),"builtin"}function w(e,t){return e.match(/^#=/)&&t.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match(/^=#/)&&(t.nestedComments--,0==t.nestedComments&&(t.tokenize=y)),"comment"}function _(e,t){var n,r=!1;if(e.match(s))r=!0;else if(n=e.match(/\\u([a-f0-9]{1,4})(?=')/i)){var i=parseInt(n[1],16);(i<=55295||i>=57344)&&(r=!0,e.next())}else if(n=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i=parseInt(n[1],16);i<=1114111&&(r=!0,e.next())}return r?(t.leavingExpr=!0,t.tokenize=y,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match(/^'/)&&(t.tokenize=y),"error")}var S={startState:function(){return{tokenize:y,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,charsAdvanced:0,firstParenPos:-1}},token:function(e,t){var n=t.tokenize(e,t),r=e.current();return r&&n&&(t.lastToken=r),n},indent:function(e,n){var r=0;return"]"!==n&&")"!==n&&"end"!==n&&"else"!==n&&"catch"!==n&&"elseif"!==n&&"finally"!==n||(r=-1),(e.scopes.length+r)*t.indentUnit},electricInput:/\b(end|else|catch|finally)\b/,blockCommentStart:"#=",blockCommentEnd:"=#",lineComment:"#",closeBrackets:'()[]{}""',fold:"indent"};return S}),e.defineMIME("text/x-julia","julia")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("livescript",function(){var e=function(e,t){var n=t.next||"start";if(n){t.next=t.next;var r=o[n];if(r.splice){for(var i=0;i|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+t+")?))\\s*$"),r="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",i={token:"string",regex:".+"},o={start:[{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+r},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+r},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+r},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+r},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+r},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+r},{token:"identifier",regex:t+"\\s*:(?![:=])"},{token:"variable",regex:t},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"\\S+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:t,next:"start"},{token:"text",regex:"",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{token:"comment.doc",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},i],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},i],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},i],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},i],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},i],words:[{token:"string",regex:".*?\\]>",next:"key"},i]};for(var a in o){var s=o[a];if(s.splice)for(var l=0,c=s.length;l~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)?"variable-2":e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)?"variable-2":e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":e.match(a,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function l(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=s),"string"}function c(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=s),"comment"}return{startState:function(){return{tokenize:s,commentLevel:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)"}}),e.defineMIME("text/x-mathematica",{name:"mathematica"})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["From","Sender","Reply-To","To","Cc","Bcc","Message-ID","In-Reply-To","References","Resent-From","Resent-Sender","Resent-To","Resent-Cc","Resent-Bcc","Resent-Message-ID","Return-Path","Received"],n=["Date","Subject","Comments","Keywords","Resent-Date"];e.registerHelper("hintWords","mbox",t.concat(n));var r=/^[ \t]/,i=/^From /,o=new RegExp("^("+t.join("|")+"): "),a=new RegExp("^("+n.join("|")+"): "),s=/^[^:]+:/,l=/^[^ ]+@[^ ]+/,c=/^.*?(?=[^ ]+?@[^ ]+)/,u=/^<.*?>/,d=/^.*?(?=<.*>)/;function f(e,t){if(e.sol()){if(t.inSeparator=!1,t.inHeader&&e.match(r))return null;if(t.inHeader=!1,t.header=null,e.match(i))return t.inHeaders=!0,t.inSeparator=!0,"atom";var n,f=!1;return(n=e.match(a))||(f=!0)&&(n=e.match(o))?(t.inHeaders=!0,t.inHeader=!0,t.emailPermitted=f,t.header=n[1],"atom"):t.inHeaders&&(n=e.match(s))?(t.inHeader=!0,t.emailPermitted=!0,t.header=n[1],"atom"):(t.inHeaders=!1,e.skipToEnd(),null)}if(t.inSeparator)return e.match(l)?"link":e.match(c)?"atom":(e.skipToEnd(),"atom");if(t.inHeader){var p=function(e){return"Subject"===e?"header":"string"}(t.header);if(t.emailPermitted){if(e.match(u))return p+" link";if(e.match(d))return p}return e.skipToEnd(),p}return e.skipToEnd(),null}e.defineMode("mbox",function(){return{startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:f,blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1}}}),e.defineMIME("application/mbox","mbox")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMIME("text/mirc","mirc"),e.defineMode("mirc",function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?^\/\|]/;function o(e,t,n){return t.tokenize=n,n(e,t)}function a(e,a){var c=a.beforeParams;a.beforeParams=!1;var u=e.next();if(/[\[\]{}\(\),\.]/.test(u))return"("==u&&c?a.inParams=!0:")"==u&&(a.inParams=!1),null;if(/\d/.test(u))return e.eatWhile(/[\w\.]/),"number";if("\\"==u)return e.eat("\\"),e.eat(/./),"number";if("/"==u&&e.eat("*"))return o(e,a,s);if(";"==u&&e.match(/ *\( *\(/))return o(e,a,l);if(";"!=u||a.inParams){if('"'==u)return e.eat(/"/),"keyword";if("$"==u)return e.eatWhile(/[$_a-z0-9A-Z\.:]/),t&&t.propertyIsEnumerable(e.current().toLowerCase())?"keyword":(a.beforeParams=!0,"builtin");if("%"==u)return e.eatWhile(/[^,\s()]/),a.beforeParams=!0,"string";if(i.test(u))return e.eatWhile(i),"operator";e.eatWhile(/[\w\$_{}]/);var d=e.current().toLowerCase();return n&&n.propertyIsEnumerable(d)?"keyword":r&&r.propertyIsEnumerable(d)?(a.beforeParams=!0,"keyword"):null}return e.skipToEnd(),"comment"}function s(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=a;break}r="*"==n}return"comment"}function l(e,t){for(var n,r=0;n=e.next();){if(";"==n&&2==r){t.tokenize=a;break}")"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:a,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("mllike",function(t,n){var r={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},i=n.extraWords||{};for(var o in i)i.hasOwnProperty(o)&&(r[o]=n.extraWords[o]);var a=[];for(var s in r)a.push(s);function l(e,t){var i=e.next();if('"'===i)return t.tokenize=c,t.tokenize(e,t);if("{"===i&&e.eat("|"))return t.longString=!0,t.tokenize=d,t.tokenize(e,t);if("("===i&&e.eat("*"))return t.commentLevel++,t.tokenize=u,t.tokenize(e,t);if("~"===i||"?"===i)return e.eatWhile(/\w/),"variable-2";if("`"===i)return e.eatWhile(/\w/),"quote";if("/"===i&&n.slashComments&&e.eat("/"))return e.skipToEnd(),"comment";if(/\d/.test(i))return"0"===i&&e.eat(/[bB]/)&&e.eatWhile(/[01]/),"0"===i&&e.eat(/[xX]/)&&e.eatWhile(/[0-9a-fA-F]/),"0"===i&&e.eat(/[oO]/)?e.eatWhile(/[0-7]/):(e.eatWhile(/[\d_]/),e.eat(".")&&e.eatWhile(/[\d]/),e.eat(/[eE]/)&&e.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(i))return"operator";if(/[\w\xa1-\uffff]/.test(i)){e.eatWhile(/[\w\xa1-\uffff]/);var o=e.current();return r.hasOwnProperty(o)?r[o]:"variable"}return null}function c(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=l),"string"}function u(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=l),"comment"}function d(e,t){for(var n,r;t.longString&&null!=(r=e.next());)"|"===n&&"}"===r&&(t.longString=!1),n=r;return t.longString||(t.tokenize=l),"string"}return e.registerHelper("hintWords","mllike",a),{startState:function(){return{tokenize:l,commentLevel:0,longString:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:n.slashComments?"//":null}}),e.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),e.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),e.defineMIME("text/x-sml",{name:"mllike",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r+\-\/^\[\]]/,l=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,c=/[0-9]/,u=/[_a-zA-Z]/;function d(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function f(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function p(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function m(e,t){for(e.eatWhile(c);e.eat(c)||e.eat(u););var n=e.current();return!t.sol||"package"!=n&&"model"!=n&&"when"!=n&&"connector"!=n?t.sol&&"end"==n&&t.level>0&&t.level--:t.level++,t.tokenize=null,t.sol=!1,i.propertyIsEnumerable(n)?"keyword":o.propertyIsEnumerable(n)?"builtin":a.propertyIsEnumerable(n)?"atom":"variable"}function h(e,t){for(;e.eat(/[^']/););return t.tokenize=null,t.sol=!1,e.eat("'")?"variable":"error"}function g(e,t){return e.eatWhile(c),e.eat(".")&&e.eatWhile(c),(e.eat("e")||e.eat("E"))&&(e.eat("-")||e.eat("+"),e.eatWhile(c)),t.tokenize=null,t.sol=!1,"number"}return{startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(e,t){if(null!=t.tokenize)return t.tokenize(e,t);if(e.sol()&&(t.sol=!0),e.eatSpace())return t.tokenize=null,null;var n=e.next();if("/"==n&&e.eat("/"))t.tokenize=d;else if("/"==n&&e.eat("*"))t.tokenize=f;else{if(l.test(n+e.peek()))return e.next(),t.tokenize=null,"operator";if(s.test(n))return t.tokenize=null,"operator";if(u.test(n))t.tokenize=m;else if("'"==n&&e.peek()&&"'"!=e.peek())t.tokenize=h;else if('"'==n)t.tokenize=p;else{if(!c.test(n))return t.tokenize=null,"error";t.tokenize=g}}return t.tokenize(e,t)},indent:function(t,n){if(null!=t.tokenize)return e.Pass;var i=t.level;return/(algorithm)/.test(n)&&i--,/(equation)/.test(n)&&i--,/(initial algorithm)/.test(n)&&i--,/(initial equation)/.test(n)&&i--,/(end)/.test(n)&&i--,i>0?r*i:0},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),function(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.builtin),i(n.atoms),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},xu:{keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},msgenny:{keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}};function n(e){return new RegExp("\\b("+e.join("|")+")\\b","i")}function r(e){return new RegExp("("+e.join("|")+")","i")}function i(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function o(e){return{inComment:e.inComment,inString:e.inString,inAttributeList:e.inAttributeList,inScript:e.inScript}}e.defineMode("mscgen",function(e,a){var s,l=t[a&&a.language||"mscgen"];return{startState:i,copyState:o,token:(s=l,function(e,t){if(e.match(r(s.brackets),!0,!0))return"bracket";if(!t.inComment){if(e.match(/\/\*[^\*\/]*/,!0,!0))return t.inComment=!0,"comment";if(e.match(r(s.singlecomment),!0,!0))return e.skipToEnd(),"comment"}if(t.inComment)return e.match(/[^\*\/]*\*\//,!0,!0)?t.inComment=!1:e.skipToEnd(),"comment";if(!t.inString&&e.match(/\"(\\\"|[^\"])*/,!0,!0))return t.inString=!0,"string";if(t.inString)return e.match(/[^\"]*\"/,!0,!0)?t.inString=!1:e.skipToEnd(),"string";if(s.keywords&&e.match(n(s.keywords),!0,!0))return"keyword";if(e.match(n(s.options),!0,!0))return"keyword";if(e.match(n(s.arcsWords),!0,!0))return"keyword";if(e.match(r(s.arcsOthers),!0,!0))return"keyword";if(s.operators&&e.match(r(s.operators),!0,!0))return"operator";if(s.constants&&e.match(r(s.constants),!0,!0))return"variable";if(!s.inAttributeList&&s.attributes&&e.match(/\[/,!0,!0))return s.inAttributeList=!0,"bracket";if(s.inAttributeList){if(null!==s.attributes&&e.match(n(s.attributes),!0,!0))return"attribute";if(e.match(/]/,!0,!0))return s.inAttributeList=!1,"bracket"}return e.next(),"base"}),lineComment:"#",blockCommentStart:"/*",blockCommentEnd:"*/"}}),e.defineMIME("text/x-mscgen","mscgen"),e.defineMIME("text/x-xu",{name:"mscgen",language:"xu"}),e.defineMIME("text/x-msgenny",{name:"mscgen",language:"msgenny"})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("mumps",function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var t=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),n=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),r=new RegExp("^[\\.,:]"),i=new RegExp("[()]"),o=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),a=e(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),s=e(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);return{startState:function(){return{label:!1,commandMode:0}},token:function(e,l){var c=function(e,l){e.sol()&&(l.label=!0,l.commandMode=0);var c=e.peek();return" "==c||"\t"==c?(l.label=!1,0==l.commandMode?l.commandMode=1:(l.commandMode<0||2==l.commandMode)&&(l.commandMode=0)):"."!=c&&l.commandMode>0&&(l.commandMode=":"==c?-1:2),"("!==c&&"\t"!==c||(l.label=!1),";"===c?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":'"'==c?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match(n)||e.match(t)?"operator":e.match(r)?null:i.test(c)?(e.next(),"bracket"):l.commandMode>0&&e.match(s)?"variable-2":e.match(a)?"builtin":e.match(o)?"variable":"$"===c||"^"===c?(e.next(),"builtin"):"@"===c?(e.next(),"string-2"):/[\w%]/.test(c)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}(e,l);return l.label?"tag":c}}}),e.defineMIME("text/x-mumps","mumps")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("nginx",function(e){function t(e){for(var t={},n=e.split(" "),r=0;r*\/]/.test(d)?s(null,"select-op"):/[;{}:\[\]]/.test(d)?s(null,d):(e.eatWhile(/[\w\\\-]/),s("variable","variable")):s(null,"compare"):void s(null,"compare")}function c(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=l;break}r="*"==n}return s("comment","comment")}function u(e,t){for(var n,r=0;null!=(n=e.next());){if(r>=2&&">"==n){t.tokenize=l;break}r="-"==n?r+1:0}return s("comment","comment")}return{startState:function(e){return{tokenize:l,baseIndent:e||0,stack:[]}},token:function(e,t){if(e.eatSpace())return null;n=null;var r=t.tokenize(e,t),i=t.stack[t.stack.length-1];return"hash"==n&&"rule"==i?r="atom":"variable"==r&&("rule"==i?r="number":i&&"@media{"!=i||(r="tag")),"rule"==i&&/^[\{\};]$/.test(n)&&t.stack.pop(),"{"==n?"@media"==i?t.stack[t.stack.length-1]="@media{":t.stack.push("{"):"}"==n?t.stack.pop():"@media"==n?t.stack.push("@media"):"{"==i&&"comment"!=n&&t.stack.push("rule"),r},indent:function(e,t){var n=e.stack.length;return/^\}/.test(t)&&(n-="rule"==e.stack[e.stack.length-1]?2:1),e.baseIndent+n*a},electricChars:"}"}}),e.defineMIME("text/x-nginx-conf","nginx")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineSimpleMode("nsis",{start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|pragma|finalize|getdllversion|gettlbversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace))\b/,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEDllCharacteristics|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,token:"atom"},{regex:/\b(?:admin|all|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|zlib)\b/,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:RunningX64)\}/,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/,token:"variable-2",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w+/,token:"variable"},{regex:/\${[\w\.:-]+}/,token:"variable-2"},{regex:/\$\([\w\.:-]+\)/,token:"variable-3"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{electricInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:["#",";"]}}),e.defineMIME("text/x-nsis","nsis")}(n(0),n(23))},function(e,t,n){!function(e){"use strict";e.defineMode("ntriples",function(){var e={PRE_SUBJECT:0,WRITING_SUB_URI:1,WRITING_BNODE_URI:2,PRE_PRED:3,WRITING_PRED_URI:4,PRE_OBJ:5,WRITING_OBJ_URI:6,WRITING_OBJ_BNODE:7,WRITING_OBJ_LITERAL:8,WRITING_LIT_LANG:9,WRITING_LIT_TYPE:10,POST_OBJ:11,ERROR:12};function t(t,n){var r,i=t.location;r=i==e.PRE_SUBJECT&&"<"==n?e.WRITING_SUB_URI:i==e.PRE_SUBJECT&&"_"==n?e.WRITING_BNODE_URI:i==e.PRE_PRED&&"<"==n?e.WRITING_PRED_URI:i==e.PRE_OBJ&&"<"==n?e.WRITING_OBJ_URI:i==e.PRE_OBJ&&"_"==n?e.WRITING_OBJ_BNODE:i==e.PRE_OBJ&&'"'==n?e.WRITING_OBJ_LITERAL:i==e.WRITING_SUB_URI&&">"==n?e.PRE_PRED:i==e.WRITING_BNODE_URI&&" "==n?e.PRE_PRED:i==e.WRITING_PRED_URI&&">"==n?e.PRE_OBJ:i==e.WRITING_OBJ_URI&&">"==n?e.POST_OBJ:i==e.WRITING_OBJ_BNODE&&" "==n?e.POST_OBJ:i==e.WRITING_OBJ_LITERAL&&'"'==n?e.POST_OBJ:i==e.WRITING_LIT_LANG&&" "==n?e.POST_OBJ:i==e.WRITING_LIT_TYPE&&">"==n?e.POST_OBJ:i==e.WRITING_OBJ_LITERAL&&"@"==n?e.WRITING_LIT_LANG:i==e.WRITING_OBJ_LITERAL&&"^"==n?e.WRITING_LIT_TYPE:" "!=n||i!=e.PRE_SUBJECT&&i!=e.PRE_PRED&&i!=e.PRE_OBJ&&i!=e.POST_OBJ?i==e.POST_OBJ&&"."==n?e.PRE_SUBJECT:e.ERROR:i,t.location=r}return{startState:function(){return{location:e.PRE_SUBJECT,uris:[],anchors:[],bnodes:[],langs:[],types:[]}},token:function(e,n){var r=e.next();if("<"==r){t(n,r);var i="";return e.eatWhile(function(e){return"#"!=e&&">"!=e&&(i+=e,!0)}),n.uris.push(i),e.match("#",!1)?"variable":(e.next(),t(n,">"),"variable")}if("#"==r){var o="";return e.eatWhile(function(e){return">"!=e&&" "!=e&&(o+=e,!0)}),n.anchors.push(o),"variable-2"}if(">"==r)return t(n,">"),"variable";if("_"==r){t(n,r);var a="";return e.eatWhile(function(e){return" "!=e&&(a+=e,!0)}),n.bnodes.push(a),e.next(),t(n," "),"builtin"}if('"'==r)return t(n,r),e.eatWhile(function(e){return'"'!=e}),e.next(),"@"!=e.peek()&&"^"!=e.peek()&&t(n,'"'),"string";if("@"==r){t(n,"@");var s="";return e.eatWhile(function(e){return" "!=e&&(s+=e,!0)}),n.langs.push(s),e.next(),t(n," "),"string-2"}if("^"==r){e.next(),t(n,"^");var l="";return e.eatWhile(function(e){return">"!=e&&(l+=e,!0)}),n.types.push(l),e.next(),t(n,">"),"variable"}" "==r&&t(n,r),"."==r&&t(n,r)}}}),e.defineMIME("application/n-triples","ntriples"),e.defineMIME("application/n-quads","ntriples"),e.defineMIME("text/n-triples","ntriples")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("octave",function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var t=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),n=new RegExp("^[\\(\\[\\{\\},:=;]"),r=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),i=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),o=new RegExp("^((>>=)|(<<=))"),a=new RegExp("^[\\]\\)]"),s=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*"),l=e(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),c=e(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function u(e,t){return e.sol()||"'"!==e.peek()?(t.tokenize=f,f(e,t)):(e.next(),t.tokenize=f,"operator")}function d(e,t){return e.match(/^.*%}/)?(t.tokenize=f,"comment"):(e.skipToEnd(),"comment")}function f(p,m){if(p.eatSpace())return null;if(p.match("%{"))return m.tokenize=d,p.skipToEnd(),"comment";if(p.match(/^[%#]/))return p.skipToEnd(),"comment";if(p.match(/^[0-9\.+-]/,!1)){if(p.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return p.tokenize=f,"number";if(p.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/))return"number";if(p.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(p.match(e(["nan","NaN","inf","Inf"])))return"number";var h=p.match(/^"(?:[^"]|"")*("|$)/)||p.match(/^'(?:[^']|'')*('|$)/);return h?h[1]?"string":"string error":p.match(c)?"keyword":p.match(l)?"builtin":p.match(s)?"variable":p.match(t)||p.match(r)?"operator":p.match(n)||p.match(i)||p.match(o)?null:p.match(a)?(m.tokenize=u,null):(p.next(),"error")}return{startState:function(){return{tokenize:f}},token:function(e,t){var n=t.tokenize(e,t);return"number"!==n&&"variable"!==n||(t.tokenize=u),n},lineComment:"%",fold:"indent"}}),e.defineMIME("text/x-octave","octave")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("oz",function(e){function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n,r=/[\^@!\|<>#~\.\*\-\+\\/,=]/,i=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,o=/(:::)|(\.\.\.)|(=<:)|(>=:)/,a=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],s=["end"],l=t(["true","false","nil","unit"]),c=t(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),u=t(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),d=t(a),f=t(s);function p(e,t){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match(/(\[])/))return"keyword";if(e.match(o)||e.match(i))return"operator";if(e.match(l))return"atom";var n=e.match(u);if(n)return t.doInCurrentLine?t.doInCurrentLine=!1:t.currentIndent++,"proc"==n[0]||"fun"==n[0]?t.tokenize=g:"class"==n[0]?t.tokenize=m:"meth"==n[0]&&(t.tokenize=h),"keyword";if(e.match(d)||e.match(c))return"keyword";if(e.match(f))return t.currentIndent--,"keyword";var a,s=e.next();if('"'==s||"'"==s)return t.tokenize=(a=s,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==a&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=p),"string"}),t.tokenize(e,t);if(/[~\d]/.test(s)){if("~"==s){if(!/^[0-9]/.test(e.peek()))return null;if("0"==e.next()&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==s&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return"%"==s?(e.skipToEnd(),"comment"):"/"==s&&e.eat("*")?(t.tokenize=v,v(e,t)):r.test(s)?"operator":(e.eatWhile(/\w/),"variable")}function m(e,t){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=p,"variable-3")}function h(e,t){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=p,"def")}function g(e,t){return e.eatSpace()?null:!t.hasPassedFirstStage&&e.eat("{")?(t.hasPassedFirstStage=!0,"bracket"):t.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),t.hasPassedFirstStage=!1,t.tokenize=p,"def"):(t.tokenize=p,null)}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=p;break}r="*"==n}return"comment"}return{startState:function(){return{tokenize:p,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,t){return e.sol()&&(t.doInCurrentLine=0),t.tokenize(e,t)},indent:function(t,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(f)||r.match(d)||r.match(/(\[])/)?e.indentUnit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*e.indentUnit},fold:"indent",electricInput:(n=a.concat(s),new RegExp("[\\[\\]]|("+n.join("|")+")$")),lineComment:"%",blockCommentStart:"/*",blockCommentEnd:"*/"}}),e.defineMIME("text/x-oz","oz")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("pascal",function(){var e=function(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function r(e,t){for(var n,r=!1;n=e.next();){if(")"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}return{startState:function(){return{tokenize:null}},token:function(i,o){if(i.eatSpace())return null;var a=(o.tokenize||function(i,o){var a,s=i.next();if("#"==s&&o.startOfLine)return i.skipToEnd(),"meta";if('"'==s||"'"==s)return o.tokenize=(a=s,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==a&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=null),"string"}),o.tokenize(i,o);if("("==s&&i.eat("*"))return o.tokenize=r,r(i,o);if(/[\[\]{}\(\),;\:\.]/.test(s))return null;if(/\d/.test(s))return i.eatWhile(/[\w\.]/),"number";if("/"==s&&i.eat("/"))return i.skipToEnd(),"comment";if(n.test(s))return i.eatWhile(n),"operator";i.eatWhile(/[\w\$_]/);var l=i.current();return e.propertyIsEnumerable(l)?"keyword":t.propertyIsEnumerable(l)?"atom":"variable"})(i,o);return a},electricChars:"{}"}}),e.defineMIME("text/x-pascal","pascal")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("pegjs",function(t){var n=e.getMode(t,"javascript");return{startState:function(){return{inString:!1,stringType:null,inComment:!1,inCharacterClass:!1,braced:0,lhs:!0,localState:null}},token:function(t,r){if(t&&(r.inString||r.inComment||'"'!=t.peek()&&"'"!=t.peek()||(r.stringType=t.peek(),t.next(),r.inString=!0)),r.inString||r.inComment||!t.match(/^\/\*/)||(r.inComment=!0),r.inString){for(;r.inString&&!t.eol();)t.peek()===r.stringType?(t.next(),r.inString=!1):"\\"===t.peek()?(t.next(),t.next()):t.match(/^.[^\\\"\']*/);return r.lhs?"property string":"string"}if(r.inComment){for(;r.inComment&&!t.eol();)t.match(/\*\//)?r.inComment=!1:t.match(/^.[^\*]*/);return"comment"}if(r.inCharacterClass)for(;r.inCharacterClass&&!t.eol();)t.match(/^[^\]\\]+/)||t.match(/^\\./)||(r.inCharacterClass=!1);else{if("["===t.peek())return t.next(),r.inCharacterClass=!0,"bracket";if(t.match(/^\/\//))return t.skipToEnd(),"comment";if(r.braced||"{"===t.peek()){null===r.localState&&(r.localState=e.startState(n));var i=n.token(t,r.localState),o=t.current();if(!i)for(var a=0;a=0?n:0,t)}return e.string.substr(0,e.pos-1)}function r(e,t){var n=e.string.length,r=n-e.pos+1;return e.string.substr(e.pos,t&&t=(n=e.string.length-1)?e.pos=n:e.pos=r}e.defineMode("perl",function(){var e={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},o="string-2",a=/[goseximacplud]/;function s(e,t,n,r,i){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){for(var o,a=!1,s=0;o=e.next();){if(o===n[s]&&!a)return void 0!==n[++s]?(t.chain=n[s],t.style=r,t.tail=i):i&&e.eatWhile(i),t.tokenize=c,r;a=!a&&"\\"==o}return r},t.tokenize(e,t)}function l(e,t,n){return t.tokenize=function(e,t){return e.string==n&&(t.tokenize=c),e.skipToEnd(),"string"},t.tokenize(e,t)}function c(c,u){if(c.eatSpace())return null;if(u.chain)return s(c,u,u.chain,u.style,u.tail);if(c.match(/^\-?[\d\.]/,!1)&&c.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(c.match(/^<<(?=\w)/))return c.eatWhile(/\w/),l(c,u,c.current().substr(2));if(c.sol()&&c.match(/^\=item(?!\w)/))return l(c,u,"=cut");var d=c.next();if('"'==d||"'"==d){if(n(c,3)=="<<"+d){var f=c.pos;c.eatWhile(/\w/);var p=c.current().substr(1);if(p&&c.eat(d))return l(c,u,p);c.pos=f}return s(c,u,[d],"string")}if("q"==d){var m=t(c,-2);if(!m||!/\w/.test(m))if("x"==(m=t(c,0))){if("("==(m=t(c,1)))return i(c,2),s(c,u,[")"],o,a);if("["==m)return i(c,2),s(c,u,["]"],o,a);if("{"==m)return i(c,2),s(c,u,["}"],o,a);if("<"==m)return i(c,2),s(c,u,[">"],o,a);if(/[\^'"!~\/]/.test(m))return i(c,1),s(c,u,[c.eat(m)],o,a)}else if("q"==m){if("("==(m=t(c,1)))return i(c,2),s(c,u,[")"],"string");if("["==m)return i(c,2),s(c,u,["]"],"string");if("{"==m)return i(c,2),s(c,u,["}"],"string");if("<"==m)return i(c,2),s(c,u,[">"],"string");if(/[\^'"!~\/]/.test(m))return i(c,1),s(c,u,[c.eat(m)],"string")}else if("w"==m){if("("==(m=t(c,1)))return i(c,2),s(c,u,[")"],"bracket");if("["==m)return i(c,2),s(c,u,["]"],"bracket");if("{"==m)return i(c,2),s(c,u,["}"],"bracket");if("<"==m)return i(c,2),s(c,u,[">"],"bracket");if(/[\^'"!~\/]/.test(m))return i(c,1),s(c,u,[c.eat(m)],"bracket")}else if("r"==m){if("("==(m=t(c,1)))return i(c,2),s(c,u,[")"],o,a);if("["==m)return i(c,2),s(c,u,["]"],o,a);if("{"==m)return i(c,2),s(c,u,["}"],o,a);if("<"==m)return i(c,2),s(c,u,[">"],o,a);if(/[\^'"!~\/]/.test(m))return i(c,1),s(c,u,[c.eat(m)],o,a)}else if(/[\^'"!~\/(\[{<]/.test(m)){if("("==m)return i(c,1),s(c,u,[")"],"string");if("["==m)return i(c,1),s(c,u,["]"],"string");if("{"==m)return i(c,1),s(c,u,["}"],"string");if("<"==m)return i(c,1),s(c,u,[">"],"string");if(/[\^'"!~\/]/.test(m))return s(c,u,[c.eat(m)],"string")}}if("m"==d){var m=t(c,-2);if((!m||!/\w/.test(m))&&(m=c.eat(/[(\[{<\^'"!~\/]/))){if(/[\^'"!~\/]/.test(m))return s(c,u,[m],o,a);if("("==m)return s(c,u,[")"],o,a);if("["==m)return s(c,u,["]"],o,a);if("{"==m)return s(c,u,["}"],o,a);if("<"==m)return s(c,u,[">"],o,a)}}if("s"==d){var m=/[\/>\]})\w]/.test(t(c,-2));if(!m&&(m=c.eat(/[(\[{<\^'"!~\/]/)))return s(c,u,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],o,a)}if("y"==d){var m=/[\/>\]})\w]/.test(t(c,-2));if(!m&&(m=c.eat(/[(\[{<\^'"!~\/]/)))return s(c,u,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],o,a)}if("t"==d){var m=/[\/>\]})\w]/.test(t(c,-2));if(!m&&(m=c.eat("r"))&&(m=c.eat(/[(\[{<\^'"!~\/]/)))return s(c,u,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],o,a)}if("`"==d)return s(c,u,[d],"variable-2");if("/"==d)return/~\s*$/.test(n(c))?s(c,u,[d],o,a):"operator";if("$"==d){var f=c.pos;if(c.eatWhile(/\d/)||c.eat("{")&&c.eatWhile(/\d/)&&c.eat("}"))return"variable-2";c.pos=f}if(/[$@%]/.test(d)){var f=c.pos;if(c.eat("^")&&c.eat(/[A-Z]/)||!/[@$%&]/.test(t(c,-2))&&c.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var m=c.current();if(e[m])return"variable-2"}c.pos=f}if(/[$@%&]/.test(d)&&(c.eatWhile(/[\w$\[\]]/)||c.eat("{")&&c.eatWhile(/[\w$\[\]]/)&&c.eat("}"))){var m=c.current();return e[m]?"variable-2":"variable"}if("#"==d&&"$"!=t(c,-2))return c.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(d)){var f=c.pos;if(c.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),e[c.current()])return"operator";c.pos=f}if("_"==d&&1==c.pos){if("_END__"==r(c,6))return s(c,u,["\0"],"comment");if("_DATA__"==r(c,7))return s(c,u,["\0"],"variable-2");if("_C__"==r(c,7))return s(c,u,["\0"],"string")}if(/\w/.test(d)){var f=c.pos;if("{"==t(c,-2)&&("}"==t(c,0)||c.eatWhile(/\w/)&&"}"==t(c,0)))return"string";c.pos=f}if(/[A-Z]/.test(d)){var h=t(c,-2),f=c.pos;if(c.eatWhile(/[A-Z_]/),!/[\da-z]/.test(t(c,0))){var m=e[c.current()];return m?(m[1]&&(m=m[0]),":"!=h?1==m?"keyword":2==m?"def":3==m?"atom":4==m?"operator":5==m?"variable-2":"meta":"meta"):"meta"}c.pos=f}if(/[a-zA-Z_]/.test(d)){var h=t(c,-2);c.eatWhile(/\w/);var m=e[c.current()];return m?(m[1]&&(m=m[0]),":"!=h?1==m?"keyword":2==m?"def":3==m?"atom":4==m?"operator":5==m?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:c,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||c)(e,t)},lineComment:"#"}}),e.registerHelper("wordChars","perl",/[\w$]/),e.defineMIME("text/x-perl","perl")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r\w/,!1)&&(t.tokenize=n([[["->",null]],[[/[\w]+/,"variable"]]],r,i)),"variable-2";for(var o=!1;!e.eol()&&(o||!1===i||!e.match("{$",!1)&&!e.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!o&&e.match(r)){t.tokenize=null,t.tokStack.pop(),t.tokStack.pop();break}o="\\"==e.next()&&!o}return"string"}(r,i,e,t)}}var i="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",o="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",a="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";e.registerHelper("hintWords","php",[i,o,a].join(" ").split(" ")),e.registerHelper("wordChars","php",/[\w$]/);var s={name:"clike",helperType:"php",keywords:t(i),blockKeywords:t("catch do else elseif for foreach if switch try while finally"),defKeywords:t("class function interface namespace trait"),atoms:t(o),builtin:t(a),multiLineStrings:!0,hooks:{$:function(e){return e.eatWhile(/[\w\$_]/),"variable-2"},"<":function(e,t){var n;if(n=e.match(/<<\s*/)){var i=e.eat(/['"]/);e.eatWhile(/[\w\.]/);var o=e.current().slice(n[0].length+(i?2:1));if(i&&e.eat(i),o)return(t.tokStack||(t.tokStack=[])).push(o,0),t.tokenize=r(o,"'"!=i),"string"}return!1},"#":function(e){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"},"/":function(e){if(e.eat("/")){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"}return!1},'"':function(e,t){return(t.tokStack||(t.tokStack=[])).push('"',0),t.tokenize=r('"'),"string"},"{":function(e,t){return t.tokStack&&t.tokStack.length&&t.tokStack[t.tokStack.length-1]++,!1},"}":function(e,t){return t.tokStack&&t.tokStack.length>0&&!--t.tokStack[t.tokStack.length-1]&&(t.tokenize=r(t.tokStack[t.tokStack.length-2])),!1}}};e.defineMode("php",function(t,n){var r=e.getMode(t,n&&n.htmlMode||"text/html"),i=e.getMode(t,s);return{startState:function(){var t=e.startState(r),o=n.startOpen?e.startState(i):null;return{html:t,php:o,curMode:n.startOpen?i:r,curState:n.startOpen?o:t,pending:null}},copyState:function(t){var n,o=t.html,a=e.copyState(r,o),s=t.php,l=s&&e.copyState(i,s);return n=t.curMode==r?a:l,{html:a,php:l,curMode:t.curMode,curState:n,pending:t.pending}},token:function(t,n){var o=n.curMode==i;if(t.sol()&&n.pending&&'"'!=n.pending&&"'"!=n.pending&&(n.pending=null),o)return o&&null==n.php.tokenize&&t.match("?>")?(n.curMode=r,n.curState=n.html,n.php.context.prev||(n.php=null),"meta"):i.token(t,n.curState);if(t.match(/^<\?\w*/))return n.curMode=i,n.php||(n.php=e.startState(i,r.indent(n.html,"",""))),n.curState=n.php,"meta";if('"'==n.pending||"'"==n.pending){for(;!t.eol()&&t.next()!=n.pending;);var a="string"}else if(n.pending&&t.pos/.test(l)?n.pending=s[0]:n.pending={end:t.pos,style:a},t.backUp(l.length-c)),a},indent:function(e,t,n){return e.curMode!=i&&/^\s*<\//.test(t)||e.curMode==i&&/^\?>/.test(t)?r.indent(e.html,t,n):e.curMode.indent(e.curState,t,n)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(e){return{state:e.curState,mode:e.curMode}}}},"htmlmixed","clike"),e.defineMIME("application/x-httpd-php","php"),e.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),e.defineMIME("text/x-php",s)}(n(0),n(6),n(26))},function(e,t,n){!function(e){"use strict";e.defineMode("pig",function(e,t){var n=t.keywords,r=t.builtins,i=t.types,o=t.multiLineStrings,a=/[*+\-%<>=&?:\/!|]/;function s(e,t,n){return t.tokenize=n,n(e,t)}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=c;break}r="*"==n}return"comment"}function c(e,t){var u,d=e.next();return'"'==d||"'"==d?s(e,t,(u=d,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==u&&!r){i=!0;break}r=!r&&"\\"==n}return(i||!r&&!o)&&(t.tokenize=c),"error"})):/[\[\]{}\(\),;\.]/.test(d)?null:/\d/.test(d)?(e.eatWhile(/[\w\.]/),"number"):"/"==d?e.eat("*")?s(e,t,l):(e.eatWhile(a),"operator"):"-"==d?e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(a),"operator"):a.test(d)?(e.eatWhile(a),"operator"):(e.eatWhile(/[\w\$_]/),n&&n.propertyIsEnumerable(e.current().toUpperCase())&&!e.eat(")")&&!e.eat(".")?"keyword":r&&r.propertyIsEnumerable(e.current().toUpperCase())?"variable-2":i&&i.propertyIsEnumerable(e.current().toUpperCase())?"variable-3":"variable")}return{startState:function(){return{tokenize:c,startOfLine:!0}},token:function(e,t){if(e.eatSpace())return null;var n=t.tokenize(e,t);return n}}}),function(){function t(e){for(var t={},n=e.split(" "),r=0;r/],{suffix:""}),o=e([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),a=e([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),s=e([/[A-Z]:|%|\?/i,o,a],{suffix:"(?=[^A-Za-z\\d\\-_]|$)"}),l={keyword:n,number:/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,operator:i,builtin:s,punctuation:/[\[\]{},;`\.]|@[({]/,identifier:/^[A-Za-z\_][A-Za-z\-\_\d]*\b/};function c(e,n){var r=n.returnStack[n.returnStack.length-1];if(r&&r.shouldReturnFrom(n))return n.tokenize=r.tokenize,n.returnStack.pop(),n.tokenize(e,n);if(e.eatSpace())return null;if(e.eat("("))return n.bracketNesting+=1,"punctuation";if(e.eat(")"))return n.bracketNesting-=1,"punctuation";for(var i in l)if(e.match(l[i]))return i;var o=e.next();if("'"===o)return function(e,t){var n;for(;null!=(n=e.peek());)if(e.next(),"'"===n&&!e.eat("'"))return t.tokenize=c,"string";return"error"}(e,n);if("$"===o)return g(e,n);if('"'===o)return u(e,n);if("<"===o&&e.eat("#"))return n.tokenize=h,h(e,n);if("#"===o)return e.skipToEnd(),"comment";if("@"===o){var a=e.eat(/["']/);if(a&&e.eol())return n.tokenize=b,n.startQuote=a[0],b(e,n);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(t))return g(e,n)}return"error"}function u(e,t){for(var n;null!=(n=e.peek());){if("$"===n)return t.tokenize=d,"string";if(e.next(),"`"!==n){if('"'===n&&!e.eat('"'))return t.tokenize=c,"string"}else e.next()}return"error"}function d(e,t){return m(e,t,u)}function f(e,t){return t.tokenize=b,t.startQuote='"',b(e,t)}function p(e,t){return m(e,t,f)}function m(e,t,n){if(e.match("$(")){var r=t.bracketNesting;return t.returnStack.push({shouldReturnFrom:function(e){return e.bracketNesting===r},tokenize:n}),t.tokenize=c,t.bracketNesting+=1,"punctuation"}return e.next(),t.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:n}),t.tokenize=g,t.tokenize(e,t)}function h(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&">"==n){t.tokenize=c;break}r="#"===n}return"comment"}function g(e,n){var r=e.peek();return e.eat("{")?(n.tokenize=v,v(e,n)):null!=r&&r.match(t)?(e.eatWhile(t),n.tokenize=c,"variable-2"):(n.tokenize=c,"error")}function v(e,t){for(var n;null!=(n=e.next());)if("}"===n){t.tokenize=c;break}return"variable-2"}function b(e,t){var n=t.startQuote;if(e.sol()&&e.match(new RegExp(n+"@")))t.tokenize=c;else if('"'===n)for(;!e.eol();){var r=e.peek();if("$"===r)return t.tokenize=p,"string";e.next(),"`"===r&&e.next()}else e.skipToEnd();return"string"}var y={startState:function(){return{returnStack:[],bracketNesting:0,tokenize:c}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"<#",blockCommentEnd:"#>",lineComment:"#",fold:"brace"};return y}),e.defineMIME("application/x-powershell","powershell")})(n(0))}()},function(e,t,n){!function(e){"use strict";e.defineMode("properties",function(){return{token:function(e,t){var n=e.sol()||t.afterSection,r=e.eol();if(t.afterSection=!1,n&&(t.nextMultiline?(t.inMultiline=!0,t.nextMultiline=!1):t.position="def"),r&&!t.nextMultiline&&(t.inMultiline=!1,t.position="def"),n)for(;e.eatSpace(););var i=e.next();return!n||"#"!==i&&"!"!==i&&";"!==i?n&&"["===i?(t.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===i||":"===i?(t.position="quote",null):("\\"===i&&"quote"===t.position&&e.eol()&&(t.nextMultiline=!0),t.position):(t.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}}}),e.defineMIME("text/x-properties","properties"),e.defineMIME("text/x-ini","properties")}(n(0))},function(e,t,n){!function(e){"use strict";var t,n=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],r=(t=n,new RegExp("^(("+t.join(")|(")+"))\\b","i"));e.registerHelper("hintWords","protobuf",n);var i=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");function o(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)?"string":e.match(/^'([^']|(''))*'/)?"string":e.match(r)?"keyword":e.match(i)?"variable":(e.next(),null)}e.defineMode("protobuf",function(){return{token:o}}),e.defineMIME("text/x-protobuf","protobuf")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("puppet",function(){var e={},t=/({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/;function n(t,n){for(var r=n.split(" "),i=0;i.*/,!1),s=n.match(/(\s+)?[\w:_]+(\s+)?{/,!1),l=n.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/,!1),c=n.next();if("$"===c)return n.match(t)?i.continueString?"variable-2":"variable":"error";if(i.continueString)return n.backUp(1),r(n,i);if(i.inDefinition){if(n.match(/(\s+)?[\w:_]+(\s+)?/))return"def";n.match(/\s+{/),i.inDefinition=!1}return i.inInclude?(n.match(/(\s+)?\S+(\s+)?/),i.inInclude=!1,"def"):n.match(/(\s+)?\w+\(/)?(n.backUp(1),"def"):a?(n.match(/(\s+)?\w+/),"tag"):o&&e.hasOwnProperty(o)?(n.backUp(1),n.match(/[\w]+/),n.match(/\s+\S+\s+{/,!1)&&(i.inDefinition=!0),"include"==o&&(i.inInclude=!0),e[o]):/(^|\s+)[A-Z][\w:_]+/.test(o)?(n.backUp(1),n.match(/(^|\s+)[A-Z][\w:_]+/),"def"):s?(n.match(/(\s+)?[\w:_]+/),"def"):l?(n.match(/(\s+)?[@]{1,2}/),"special"):"#"==c?(n.skipToEnd(),"comment"):"'"==c||'"'==c?(i.pending=c,r(n,i)):"{"==c||"}"==c?"bracket":"/"==c?(n.match(/.*?\//),"variable-3"):c.match(/[0-9]/)?(n.eatWhile(/[0-9]+/),"number"):"="==c?(">"==n.peek()&&n.next(),"operator"):(n.eatWhile(/[\w-]/),null)}(n,i)}}}),e.defineMIME("text/x-puppet","puppet")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("q",function(e){var t,n=e.indentUnit,r=new RegExp("^("+["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"].join("|")+")$"),i=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/;function o(e,n){var s=e.sol(),u=e.next();if(t=null,s){if("/"==u)return(n.tokenize=a)(e,n);if("\\"==u)return e.eol()||/\s/.test(e.peek())?(e.skipToEnd(),/^\\\s*$/.test(e.current())?(n.tokenize=l)(e):n.tokenize=o,"comment"):(n.tokenize=o,"builtin")}if(/\s/.test(u))return"/"==e.peek()?(e.skipToEnd(),"comment"):"whitespace";if('"'==u)return(n.tokenize=c)(e,n);if("`"==u)return e.eatWhile(/[A-Za-z\d_:\/.]/),"symbol";if("."==u&&/\d/.test(e.peek())||/\d/.test(u)){var d=null;return e.backUp(1),e.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||e.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||e.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||e.match(/^\d+[ptuv]{1}/)?d="temporal":(e.match(/^0[NwW]{1}/)||e.match(/^0x[\da-fA-F]*/)||e.match(/^[01]+[b]{1}/)||e.match(/^\d+[chijn]{1}/)||e.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(d="number"),!d||(u=e.peek())&&!i.test(u)?(e.next(),"error"):d}return/[A-Za-z]|\./.test(u)?(e.eatWhile(/[A-Za-z._\d]/),r.test(e.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(u)?null:/[{}\(\[\]\)]/.test(u)?null:"error"}function a(e,t){return e.skipToEnd(),/\/\s*$/.test(e.current())?(t.tokenize=s)(e,t):t.tokenize=o,"comment"}function s(e,t){var n=e.sol()&&"\\"==e.peek();return e.skipToEnd(),n&&/^\\\s*$/.test(e.current())&&(t.tokenize=o),"comment"}function l(e){return e.skipToEnd(),"comment"}function c(e,t){for(var n,r=!1,i=!1;n=e.next();){if('"'==n&&!r){i=!0;break}r=!r&&"\\"==n}return i&&(t.tokenize=o),"string"}function u(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function d(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:o,context:null,indent:0,col:0}},token:function(e,n){e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation());var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)u(n,")",e.column());else if("["==t)u(n,"]",e.column());else if("{"==t)u(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)d(n);n.context&&t==n.context.type&&d(n)}else"."==t&&n.context&&"pattern"==n.context.type?d(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?u(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0}}}),e.defineMIME("text/x-q","q")}(n(0))},function(e,t,n){!function(e){"use strict";e.registerHelper("wordChars","r",/[\w.]/),e.defineMode("r",function(t){function n(e){for(var t={},n=0;n=!&|~$:]/;function f(e,t){a=null;var n,r=e.next();if("#"==r)return e.skipToEnd(),"comment";if("0"==r&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if("."==r&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(r))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==r||'"'==r)return t.tokenize=(n=r,function(e,t){if(e.eat("\\")){var r=e.next();return"x"==r?e.match(/^[a-f0-9]{2}/i):("u"==r||"U"==r)&&e.eat("{")&&e.skipTo("}")?e.next():"u"==r?e.match(/^[a-f0-9]{4}/i):"U"==r?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&e.match(/^[0-7]{1,2}/),"string-2"}for(var i;null!=(i=e.next());){if(i==n){t.tokenize=f;break}if("\\"==i){e.backUp(1);break}}return"string"}),"string";if("`"==r)return e.match(/[^`]+`/),"variable-3";if("."==r&&e.match(/.[.\d]+/))return"keyword";if(/[\w\.]/.test(r)&&"_"!=r){e.eatWhile(/[\w\.]/);var i=e.current();return s.propertyIsEnumerable(i)?"atom":c.propertyIsEnumerable(i)?(u.propertyIsEnumerable(i)&&!e.match(/\s*if(\s+|$)/,!1)&&(a="block"),"keyword"):l.propertyIsEnumerable(i)?"builtin":"variable"}return"%"==r?(e.skipTo("%")&&e.next(),"operator variable-2"):"<"==r&&e.eat("-")||"<"==r&&e.match("<-")||"-"==r&&e.match(/>>?/)?"operator arrow":"="==r&&t.ctx.argList?"arg-is":d.test(r)?"$"==r?"operator dollar":(e.eatWhile(d),"operator"):/[\(\){}\[\];]/.test(r)?(a=r,";"==r?"semi":null):null}function p(e,t,n){e.ctx={type:t,indent:e.indent,flags:0,column:n.column(),prev:e.ctx}}function m(e,t){var n=e.ctx;e.ctx={type:n.type,indent:n.indent,flags:n.flags|t,column:n.column,prev:n.prev}}function h(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}return{startState:function(){return{tokenize:f,ctx:{type:"top",indent:-t.indentUnit,flags:2},indent:0,afterIdent:!1}},token:function(e,t){if(e.sol()&&(0==(3&t.ctx.flags)&&(t.ctx.flags|=2),4&t.ctx.flags&&h(t),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"!=n&&0==(2&t.ctx.flags)&&m(t,1),";"!=a&&"{"!=a&&"}"!=a||"block"!=t.ctx.type||h(t),"{"==a?p(t,"}",e):"("==a?(p(t,")",e),t.afterIdent&&(t.ctx.argList=!0)):"["==a?p(t,"]",e):"block"==a?p(t,"block",e):a==t.ctx.type?h(t):"block"==t.ctx.type&&"comment"!=n&&m(t,4),t.afterIdent="variable"==n||"keyword"==n,n},indent:function(e,n){if(e.tokenize!=f)return 0;var r=n&&n.charAt(0),i=e.ctx,o=r==i.type;return 4&i.flags&&(i=i.prev),"block"==i.type?i.indent+("{"==r?0:t.indentUnit):1&i.flags?i.column+(o?0:1):i.indent+(o?0:t.indentUnit)},lineComment:"#"}}),e.defineMIME("text/x-rsrc","r")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("rpm-changes",function(){var e=/^-+$/,t=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,n=/^[\w+.-]+@[\w.-]+/;return{token:function(r){if(r.sol()){if(r.match(e))return"tag";if(r.match(t))return"tag"}return r.match(n)?"string":(r.next(),null)}}}),e.defineMIME("text/x-rpm-changes","rpm-changes"),e.defineMode("rpm-spec",function(){var e=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,t=/^[a-zA-Z0-9()]+:/,n=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,r=/^%(ifnarch|ifarch|if)/,i=/^%(else|endif)/,o=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;return{startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(a,s){var l=a.peek();if("#"==l)return a.skipToEnd(),"comment";if(a.sol()){if(a.match(t))return"header";if(a.match(n))return"atom"}if(a.match(/^\$\w+/))return"def";if(a.match(/^\$\{\w+\}/))return"def";if(a.match(i))return"keyword";if(a.match(r))return s.controlFlow=!0,"keyword";if(s.controlFlow){if(a.match(o))return"operator";if(a.match(/^(\d+)/))return"number";a.eol()&&(s.controlFlow=!1)}if(a.match(e))return a.eol()&&(s.controlFlow=!1),"number";if(a.match(/^%[\w]+/))return a.match(/^\(/)&&(s.macroParameters=!0),"keyword";if(s.macroParameters){if(a.match(/^\d+/))return"number";if(a.match(/^\)/))return s.macroParameters=!1,"keyword"}return a.match(/^%\{\??[\w \-\:\!]+\}/)?(a.eol()&&(s.controlFlow=!1),"def"):(a.next(),null)}}}),e.defineMIME("text/x-rpm-spec","rpm-spec")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("rst",function(t,n){var r=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,i=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,o=/^``[^`\s](?:[^`]*[^`\s])``/,a=/^(?:[\d]+(?:[\.,]\d+)*)/,s=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,l=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,c=new RegExp("^[Hh][Tt][Tt][Pp][Ss]?://(?:[\\d\\w.-]+)\\.(?:\\w{2,6})(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*"),u={token:function(e){if(e.match(r)&&e.match(/\W+|$/,!1))return"strong";if(e.match(i)&&e.match(/\W+|$/,!1))return"em";if(e.match(o)&&e.match(/\W+|$/,!1))return"string-2";if(e.match(a))return"number";if(e.match(s))return"positive";if(e.match(l))return"negative";if(e.match(c))return"link";for(;!(null==e.next()||e.match(r,!1)||e.match(i,!1)||e.match(o,!1)||e.match(a,!1)||e.match(s,!1)||e.match(l,!1)||e.match(c,!1)););return null}},d=e.getMode(t,n.backdrop||"rst-base");return e.overlayMode(d,u,!0)},"python","stex"),e.defineMode("rst-base",function(t){function n(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,n){return void 0!==t[n]?t[n]:e})}var r=e.getMode(t,"python"),i=e.getMode(t,"stex"),o="(?:\\s*|\\W|$)",a=new RegExp(n("^{0}",o)),s="(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)",l=new RegExp(n("^{0}",s)),c=n("(?:{0}|`{1}`)",s,"(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)"),u="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",d="(?:[^\\`]+)",f=new RegExp(n("^{0}",d)),p=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),m=new RegExp(n("^\\.\\.{0}","\\s+")),h=new RegExp(n("^_{0}:{1}|^__:{1}",c,o)),g=new RegExp(n("^{0}::{1}",c,o)),v=new RegExp(n("^\\|{0}\\|{1}{2}::{3}",u,"\\s+",c,o)),b=new RegExp(n("^\\[(?:\\d+|#{0}?|\\*)]{1}",c,o)),y=new RegExp(n("^\\[{0}\\]{1}",c,o)),k=new RegExp(n("^\\|{0}\\|",u)),x=new RegExp(n("^\\[(?:\\d+|#{0}?|\\*)]_",c)),w=new RegExp(n("^\\[{0}\\]_",c)),_=new RegExp(n("^{0}__?",c)),S=new RegExp(n("^`{0}`_",d)),E=new RegExp(n("^:{0}:`{1}`{2}",s,d,o)),T=new RegExp(n("^`{1}`:{0}:{2}",s,d,o)),C=new RegExp(n("^:{0}:{1}",s,o)),M=new RegExp(n("^{0}",c)),I=new RegExp(n("^::{0}",o)),A=new RegExp(n("^\\|{0}\\|",u)),z=new RegExp(n("^{0}","\\s+")),L=new RegExp(n("^{0}",c)),O=new RegExp(n("^::{0}",o)),N=new RegExp("^_"),R=new RegExp(n("^{0}|_",c)),D=new RegExp(n("^:{0}",o)),P=new RegExp("^::\\s*$"),$=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");function F(t,n){var o=null;if(t.sol()&&t.match($,!1))G(n,B,{mode:r,local:e.startState(r)});else if(t.sol()&&t.match(m))G(n,j),o="meta";else if(t.sol()&&t.match(p))G(n,F),o="header";else if(Z(n)==E||t.match(E,!1))switch(V(n)){case 0:G(n,F,H(E,1)),t.match(/^:/),o="meta";break;case 1:G(n,F,H(E,2)),t.match(l),o="keyword",t.current().match(/^(?:math|latex)/)&&(n.tmp_stex=!0);break;case 2:G(n,F,H(E,3)),t.match(/^:`/),o="meta";break;case 3:if(n.tmp_stex&&(n.tmp_stex=void 0,n.tmp={mode:i,local:e.startState(i)}),n.tmp){if("`"==t.peek()){G(n,F,H(E,4)),n.tmp=void 0;break}o=n.tmp.mode.token(t,n.tmp.local);break}G(n,F,H(E,4)),t.match(f),o="string";break;case 4:G(n,F,H(E,5)),t.match(/^`/),o="meta";break;case 5:G(n,F,H(E,6)),t.match(a);break;default:G(n,F)}else if(Z(n)==T||t.match(T,!1))switch(V(n)){case 0:G(n,F,H(T,1)),t.match(/^`/),o="meta";break;case 1:G(n,F,H(T,2)),t.match(f),o="string";break;case 2:G(n,F,H(T,3)),t.match(/^`:/),o="meta";break;case 3:G(n,F,H(T,4)),t.match(l),o="keyword";break;case 4:G(n,F,H(T,5)),t.match(/^:/),o="meta";break;case 5:G(n,F,H(T,6)),t.match(a);break;default:G(n,F)}else if(Z(n)==C||t.match(C,!1))switch(V(n)){case 0:G(n,F,H(C,1)),t.match(/^:/),o="meta";break;case 1:G(n,F,H(C,2)),t.match(l),o="keyword";break;case 2:G(n,F,H(C,3)),t.match(/^:/),o="meta";break;case 3:G(n,F,H(C,4)),t.match(a);break;default:G(n,F)}else if(Z(n)==k||t.match(k,!1))switch(V(n)){case 0:G(n,F,H(k,1)),t.match(A),o="variable-2";break;case 1:G(n,F,H(k,2)),t.match(/^_?_?/)&&(o="link");break;default:G(n,F)}else if(t.match(x))G(n,F),o="quote";else if(t.match(w))G(n,F),o="quote";else if(t.match(_))G(n,F),t.peek()&&!t.peek().match(/^\W$/)||(o="link");else if(Z(n)==S||t.match(S,!1))switch(V(n)){case 0:!t.peek()||t.peek().match(/^\W$/)?G(n,F,H(S,1)):t.match(S);break;case 1:G(n,F,H(S,2)),t.match(/^`/),o="link";break;case 2:G(n,F,H(S,3)),t.match(f);break;case 3:G(n,F,H(S,4)),t.match(/^`_/),o="link";break;default:G(n,F)}else t.match(P)?G(n,U):t.next()&&G(n,F);return o}function j(t,n){var o=null;if(Z(n)==v||t.match(v,!1))switch(V(n)){case 0:G(n,j,H(v,1)),t.match(A),o="variable-2";break;case 1:G(n,j,H(v,2)),t.match(z);break;case 2:G(n,j,H(v,3)),t.match(L),o="keyword";break;case 3:G(n,j,H(v,4)),t.match(O),o="meta";break;default:G(n,F)}else if(Z(n)==g||t.match(g,!1))switch(V(n)){case 0:G(n,j,H(g,1)),t.match(M),o="keyword",t.current().match(/^(?:math|latex)/)?n.tmp_stex=!0:t.current().match(/^python/)&&(n.tmp_py=!0);break;case 1:G(n,j,H(g,2)),t.match(I),o="meta",(t.match(/^latex\s*$/)||n.tmp_stex)&&(n.tmp_stex=void 0,G(n,B,{mode:i,local:e.startState(i)}));break;case 2:G(n,j,H(g,3)),(t.match(/^python\s*$/)||n.tmp_py)&&(n.tmp_py=void 0,G(n,B,{mode:r,local:e.startState(r)}));break;default:G(n,F)}else if(Z(n)==h||t.match(h,!1))switch(V(n)){case 0:G(n,j,H(h,1)),t.match(N),t.match(R),o="link";break;case 1:G(n,j,H(h,2)),t.match(D),o="meta";break;default:G(n,F)}else t.match(b)?(G(n,F),o="quote"):t.match(y)?(G(n,F),o="quote"):(t.eatSpace(),t.eol()?G(n,F):(t.skipToEnd(),G(n,q),o="comment"));return o}function q(e,t){return W(e,t,"comment")}function U(e,t){return W(e,t,"meta")}function W(e,t,n){return e.eol()||e.eatSpace()?(e.skipToEnd(),n):(G(t,F),null)}function B(e,t){return t.ctx.mode&&t.ctx.local?e.sol()?(e.eatSpace()||G(t,F),null):t.ctx.mode.token(e,t.ctx.local):(G(t,F),null)}function H(e,t,n,r){return{phase:e,stage:t,mode:n,local:r}}function G(e,t,n){e.tok=t,e.ctx=n||{}}function V(e){return e.ctx.stage||0}function Z(e){return e.ctx.phase}return{startState:function(){return{tok:F,ctx:H(void 0,0)}},copyState:function(t){var n=t.ctx,r=t.tmp;return n.local&&(n={mode:n.mode,local:e.copyState(n.mode,n.local)}),r&&(r={mode:r.mode,local:e.copyState(r.mode,r.local)}),{tok:t.tok,ctx:n,tmp:r}},innerMode:function(e){return e.tmp?{state:e.tmp.local,mode:e.tmp.mode}:e.ctx.mode?{state:e.ctx.local,mode:e.ctx.mode}:null},token:function(e,t){return t.tok(e,t)}}},"python","stex"),e.defineMIME("text/x-rst","rst")}(n(0),n(40),n(41),n(22))},function(e,t,n){!function(e){"use strict";e.defineSimpleMode("rust",{start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string-2"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string-2"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),e.defineMIME("text/x-rustsrc","rust"),e.defineMIME("text/rust","rust")}(n(0),n(23))},function(e,t,n){!function(e){"use strict";e.defineMode("sas",function(){var e={},t={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},n=/(<=|>=|!=|<>)/,r=/[=\(:\),{}.*<>+\-\/^\[\]]/;function i(t,n,r){if(r)for(var i=n.split(" "),o=0;ointeger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),n=e("define let letrec let* lambda");function r(e,t,n){this.indent=e,this.type=t,this.prev=n}function i(e,t,n){e.indentStack=new r(t,n,e.indentStack)}var o=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),a=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),s=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),l=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function c(e){return e.match(o)}function u(e){return e.match(a)}function d(e,t){return!0===t&&e.backUp(1),e.match(l)}function f(e){return e.match(s)}return{startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,r){if(null==r.indentStack&&e.sol()&&(r.indentation=e.indentation()),e.eatSpace())return null;var o=null;switch(r.mode){case"string":for(var a=!1;null!=(s=e.next());){if('"'==s&&!a){r.mode=!1;break}a=!a&&"\\"==s}o="string";break;case"comment":for(var s,l=!1;null!=(s=e.next());){if("#"==s&&l){r.mode=!1;break}l="|"==s}o="comment";break;case"s-expr-comment":if(r.mode=!1,"("!=e.peek()&&"["!=e.peek()){e.eatWhile(/[^\s\(\)\[\]]/),o="comment";break}r.sExprComment=0;default:var p=e.next();if('"'==p)r.mode="string",o="string";else if("'"==p)"("==e.peek()||"["==e.peek()?("number"!=typeof r.sExprQuote&&(r.sExprQuote=0),o="atom"):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),o="atom");else if("#"==p)if(e.eat("|"))r.mode="comment",o="comment";else if(e.eat(/[tf]/i))o="atom";else if(e.eat(";"))r.mode="s-expr-comment",o="comment";else{var m=null,h=!1,g=!0;e.eat(/[ei]/i)?h=!0:e.backUp(1),e.match(/^#b/i)?m=c:e.match(/^#o/i)?m=u:e.match(/^#x/i)?m=f:e.match(/^#d/i)?m=d:e.match(/^[-+0-9.]/,!1)?(g=!1,m=d):h||e.eat("#"),null!=m&&(g&&!h&&e.match(/^#[ei]/i),m(e)&&(o="number"))}else if(/^[-+0-9.]/.test(p)&&d(e,!0))o="number";else if(";"==p)e.skipToEnd(),o="comment";else if("("==p||"["==p){for(var v,b="",y=e.column();null!=(v=e.eat(/[^\s\(\[\;\)\]]/));)b+=v;b.length>0&&n.propertyIsEnumerable(b)?i(r,y+2,p):(e.eatSpace(),e.eol()||";"==e.peek()?i(r,y+1,p):i(r,y+e.current().length,p)),e.backUp(e.current().length-1),"number"==typeof r.sExprComment&&r.sExprComment++,"number"==typeof r.sExprQuote&&r.sExprQuote++,o="bracket"}else")"==p||"]"==p?(o="bracket",null!=r.indentStack&&r.indentStack.type==(")"==p?"(":"[")&&(function(e){e.indentStack=e.indentStack.prev}(r),"number"==typeof r.sExprComment&&0==--r.sExprComment&&(o="comment",r.sExprComment=!1),"number"==typeof r.sExprQuote&&0==--r.sExprQuote&&(o="atom",r.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),o=t&&t.propertyIsEnumerable(e.current())?"builtin":"variable")}return"number"==typeof r.sExprComment?"comment":"number"==typeof r.sExprQuote?"atom":o},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent},closeBrackets:{pairs:'()[]{}""'},lineComment:";;"}}),e.defineMIME("text/x-scheme","scheme")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("shell",function(){var t={};function n(e,n){for(var r=0;r1&&e.eat("$");var n=e.next();return/['"({]/.test(n)?(t.tokens[0]=a(n,"("==n?"quote":"{"==n?"def":"string"),c(e,t)):(/\d/.test(n)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function c(e,n){return(n.tokens[0]||function(e,n){if(e.eatSpace())return null;var r=e.sol(),i=e.next();if("\\"===i)return e.next(),null;if("'"===i||'"'===i||"`"===i)return n.tokens.unshift(a(i,"`"===i?"quote":"string")),c(e,n);if("#"===i)return r&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===i)return n.tokens.unshift(l),c(e,n);if("+"===i||"="===i)return"operator";if("-"===i)return e.eat("-"),e.eatWhile(/\w/),"attribute";if(/\d/.test(i)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var o=e.current();return"="===e.peek()&&/\w+/.test(o)?"def":t.hasOwnProperty(o)?t[o]:null})(e,n)}return{startState:function(){return{tokens:[]}},token:function(e,t){return c(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("sieve",function(e){function t(e){for(var t={},n=e.split(" "),r=0;r-1&&(t.tokenize=function(e,t,n){var r=function(r,i){return i.tokenize=t,r.pos]?)/))return n.tokenize=function(e,t){return function(n,r){if(v(r),n.match(/^\\$/))return g(r,e),"lineContinuation";var i=t(n,r);return n.eol()&&n.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)&&n.backUp(1),i}}(t.column(),(r=t.column(),i=k,function(e,t){v(t);var n=i(e,t);return e.eol()&&e.current().match(/,$/)&&g(t,r),n})),"slimSwitch";if(t.match(/^doctype\b/))return n.tokenize=z,"keyword";var s=t.match(a);return s?function(t,n){var r=A(t),i=e.startState(r);return n.subMode=r,n.subState=i,n.stack={parent:n.stack,style:"sub",indented:n.indented+1,tokenize:n.line},n.line=n.tokenize=I,"slimSubmode"}(s[1],n):N(t,n)}function O(e,t){return t.startOfLine?L(e,t):N(e,t)}function N(e,t){return e.eat("*")?(t.tokenize=y(R),null):e.match(d)?(t.tokenize=R,"slimTag"):D(e,t)}function R(e,t){return e.match(/^(<>?|>t.indented&&"slimSubmode"!=t.last;)t.line=t.tokenize=t.stack.tokenize,t.stack=t.stack.parent,t.subMode=null,t.subState=null;if(e.eatSpace())return null;var n=t.tokenize(e,t);return t.startOfLine=!1,n&&(t.last=n),s.hasOwnProperty(n)?s[n]:n},blankLine:function(e){if(e.subMode&&e.subMode.blankLine)return e.subMode.blankLine(e.subState)},innerMode:function(e){return e.subMode?{state:e.subState,mode:e.subMode}:{state:e,mode:W}}};return W},"htmlmixed","ruby"),e.defineMIME("text/x-slim","slim"),e.defineMIME("application/x-slim","slim")}(n(0),n(6),n(27))},function(e,t,n){!function(e){"use strict";e.defineMode("smalltalk",function(e){var t=/[+\-\/\\*~<>=@%|&?!.,:;^]/,n=/true|false|nil|self|super|thisContext/,r=function(e,t){this.next=e,this.parent=t},i=function(e,t,n){this.name=e,this.context=t,this.eos=n},o=function(){this.context=new r(a,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};o.prototype.userIndent=function(t){this.userIndentationDelta=t>0?t/e.indentUnit-this.indentation:0};var a=function(e,o,a){var d=new i(null,o,!1),f=e.next();return'"'===f?d=s(e,new r(s,o)):"'"===f?d=l(e,new r(l,o)):"#"===f?"'"===e.peek()?(e.next(),d=c(e,new r(c,o))):e.eatWhile(/[^\s.{}\[\]()]/)?d.name="string-2":d.name="meta":"$"===f?("<"===e.next()&&(e.eatWhile(/[^\s>]/),e.next()),d.name="string-2"):"|"===f&&a.expectVariable?d.context=new r(u,o):/[\[\]{}()]/.test(f)?(d.name="bracket",d.eos=/[\[{(]/.test(f),"["===f?a.indentation++:"]"===f&&(a.indentation=Math.max(0,a.indentation-1))):t.test(f)?(e.eatWhile(t),d.name="operator",d.eos=";"!==f):/\d/.test(f)?(e.eatWhile(/[\w\d]/),d.name="number"):/[\w_]/.test(f)?(e.eatWhile(/[\w\d_]/),d.name=a.expectVariable?n.test(e.current())?"keyword":"variable":null):d.eos=a.expectVariable,d},s=function(e,t){return e.eatWhile(/[^"]/),new i("comment",e.eat('"')?t.parent:t,!0)},l=function(e,t){return e.eatWhile(/[^']/),new i("string",e.eat("'")?t.parent:t,!1)},c=function(e,t){return e.eatWhile(/[^']/),new i("string-2",e.eat("'")?t.parent:t,!1)},u=function(e,t){var n=new i(null,t,!1),r=e.next();return"|"===r?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};return{startState:function(){return new o},token:function(e,t){if(t.userIndent(e.indentation()),e.eatSpace())return null;var n=t.context.next(e,t.context,t);return t.context=n.context,t.expectVariable=n.eos,n.name},blankLine:function(e){e.userIndent(0)},indent:function(t,n){var r=t.context.next===a&&n&&"]"===n.charAt(0)?-1:t.userIndentationDelta;return(t.indentation+r)*e.indentUnit},electricChars:"]"}}),e.defineMIME("text/x-stsrc",{name:"smalltalk"})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("smarty",function(t,n){var r,i=n.rightDelimiter||"}",o=n.leftDelimiter||"{",a=n.version||2,s=e.getMode(t,n.baseMode||"null"),l=["debug","extends","function","include","literal"],c={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/};function u(e,t){return r=t,e}function d(e,t){return null==t&&(t=e.pos),3===a&&"{"==o&&(t==e.string.length||/\s/.test(e.string.charAt(t)))}function f(e,t){for(var n,a,l=e.string,c=e.pos;;){var u=l.indexOf(o,c);if(c=u+o.length,-1==u||!d(e,u+o.length))break}if(u==e.pos)return e.match(o),e.eat("*")?function(e,t,n){return t.tokenize=n,n(e,t)}(e,t,(n="comment",a="*"+i,function(e,t){for(;!e.eol();){if(e.match(a)){t.tokenize=f;break}e.next()}return n})):(t.depth++,t.tokenize=p,r="startTag","tag");u>-1&&(e.string=l.slice(0,u));var m=s.token(e,t.base);return u>-1&&(e.string=l),m}function p(e,t){if(e.match(i,!0))return 3===a?(t.depth--,t.depth<=0&&(t.tokenize=f)):t.tokenize=f,u("tag",null);if(e.match(o,!0))return t.depth++,u("tag","startTag");var n=e.next();if("$"==n)return e.eatWhile(c.validIdentifier),u("variable-2","variable");if("|"==n)return u("operator","pipe");if("."==n)return u("operator","property");if(c.stringChar.test(n))return t.tokenize=(s=n,function(e,t){for(var n=null,r=null;!e.eol();){if(r=e.peek(),e.next()==s&&"\\"!==n){t.tokenize=p;break}n=r}return"string"}),u("string","string");if(c.operatorChars.test(n))return e.eatWhile(c.operatorChars),u("operator","operator");if("["==n||"]"==n)return u("bracket","bracket");if("("==n||")"==n)return u("bracket","operator");if(/\d/.test(n))return e.eatWhile(/\d/),u("number","number");if("variable"==t.last){if("@"==n)return e.eatWhile(c.validIdentifier),u("property","property");if("|"==n)return e.eatWhile(c.validIdentifier),u("qualifier","modifier")}else{if("pipe"==t.last)return e.eatWhile(c.validIdentifier),u("qualifier","modifier");if("whitespace"==t.last)return e.eatWhile(c.validIdentifier),u("attribute","modifier")}if("property"==t.last)return e.eatWhile(c.validIdentifier),u("property",null);if(/\s/.test(n))return r="whitespace",null;var s,d="";"/"!=n&&(d+=n);for(var m=null;m=e.eat(c.validIdentifier);)d+=m;for(var h=0,g=l.length;h]=?)/)?"operator":(h=r.match(/^\$([\w]+)/))?(u=c.variables,d=h[1],function(e,t){for(;e;){if(e.element===t)return!0;e=e.next}return!1}(u,d)?"variable-2":f?"variable":"variable-2 error"):(h=r.match(/^\w+/))?/^(?:as|and|or|not|in)$/.test(h[0])?"keyword":null:(r.next(),null);case"literal":return r.match(/^(?=\{\/literal})/)?(c.indent-=n.indentUnit,c.soyState.pop(),this.token(r,c)):a(r,c,/\{\/literal}/)}if(r.match(/^\{literal}/))return c.indent+=n.indentUnit,c.soyState.push("literal"),"keyword";if(h=r.match(/^\{([/@\\]?\w+\??)(?=$|[\s}]|\/[/*])/)){if("/switch"!=h[1]&&(c.indent+=(/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(h[1])&&"switch"!=c.tag?1:2)*n.indentUnit),c.tag=h[1],c.tag=="/"+o(c.kindTag)){c.kind.pop(),c.kindTag.pop(),c.localStates.pop();var b=o(c.localStates);b.mode.indent&&(c.indent-=b.mode.indent(b.state,"",""))}return c.soyState.push("tag"),"template"==c.tag||"deltemplate"==c.tag?c.soyState.push("templ-def"):"call"==c.tag||"delcall"==c.tag?c.soyState.push("templ-ref"):"let"==c.tag?c.soyState.push("var-def"):"for"==c.tag||"foreach"==c.tag?(c.scopes=s(c.scopes,c.variables),c.soyState.push("var-def")):"namespace"==c.tag?(c.soyState.push("namespace-def"),c.scopes||(c.variables=s(null,"ij"))):c.tag.match(/^@(?:param\??|inject|state)/)?c.soyState.push("param-def"):c.tag.match(/^(?:param)/)&&c.soyState.push("param-ref"),"keyword"}return r.eat("{")?(c.tag="print",c.indent+=2*n.indentUnit,c.soyState.push("tag"),"keyword"):a(r,c,/\{|\s+\/\/|\/\*/)},indent:function(t,r,i){var a=t.indent,s=o(t.soyState);if("comment"==s)return e.Pass;if("literal"==s)/^\{\/literal}/.test(r)&&(a-=n.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(r))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(r)&&(a-=n.indentUnit),"switch"!=t.tag&&/^\{(case|default)\b/.test(r)&&(a-=n.indentUnit),/^\{\/switch\b/.test(r)&&(a-=n.indentUnit)}var l=o(t.localStates);return a&&l.mode.indent&&(a+=l.mode.indent(l.state,r,i)),a},innerMode:function(e){return e.soyState.length&&"literal"!=o(e.soyState)?null:o(e.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}},"htmlmixed"),e.registerHelper("wordChars","soy",/[\w$]/),e.registerHelper("hintWords","soy",t.concat(["delpackage","namespace","alias","print","css","debugger"])),e.defineMIME("text/x-soy","soy")}(n(0),n(6))},function(e,t,n){!function(e){"use strict";e.defineMode("sparql",function(e){var t,n=e.indentUnit;function r(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var i=r(["str","lang","langmatches","datatype","bound","sameterm","isiri","isuri","iri","uri","bnode","count","sum","min","max","avg","sample","group_concat","rand","abs","ceil","floor","round","concat","substr","strlen","replace","ucase","lcase","encode_for_uri","contains","strstarts","strends","strbefore","strafter","year","month","day","hours","minutes","seconds","timezone","tz","now","uuid","struuid","md5","sha1","sha256","sha384","sha512","coalesce","if","strlang","strdt","isnumeric","regex","exists","isblank","isliteral","a","bind"]),o=r(["base","prefix","select","distinct","reduced","construct","describe","ask","from","named","where","order","limit","offset","filter","optional","graph","by","asc","desc","as","having","undef","values","group","minus","in","not","service","silent","using","insert","delete","union","true","false","with","data","copy","to","move","add","create","drop","clear","load"]),a=/[*+\-<>=&|\^\/!\?]/;function s(e,n){var r,l=e.next();if(t=null,"$"==l||"?"==l)return"?"==l&&e.match(/\s/,!1)?"operator":(e.match(/^[\w\d]*/),"variable-2");if("<"!=l||e.match(/^[\s\u00a0=]/,!1)){if('"'==l||"'"==l)return n.tokenize=(r=l,function(e,t){for(var n,i=!1;null!=(n=e.next());){if(n==r&&!i){t.tokenize=s;break}i=!i&&"\\"==n}return"string"}),n.tokenize(e,n);if(/[{}\(\),\.;\[\]]/.test(l))return t=l,"bracket";if("#"==l)return e.skipToEnd(),"comment";if(a.test(l))return e.eatWhile(a),"operator";if(":"==l)return e.eatWhile(/[\w\d\._\-]/),"atom";if("@"==l)return e.eatWhile(/[a-z\d\-]/i),"meta";if(e.eatWhile(/[_\w\d]/),e.eat(":"))return e.eatWhile(/[\w\d_\-]/),"atom";var c=e.current();return i.test(c)?"builtin":o.test(c)?"keyword":"variable"}return e.match(/^[^\s\u00a0>]*>?/),"atom"}function l(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function c(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:s,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)l(n,")",e.column());else if("["==t)l(n,"]",e.column());else if("{"==t)l(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)c(n);n.context&&t==n.context.type&&(c(n),"}"==t&&n.context&&"pattern"==n.context.type&&c(n))}else"."==t&&n.context&&"pattern"==n.context.type?c(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?l(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0},lineComment:"#"}}),e.defineMIME("application/sparql-query","sparql")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("spreadsheet",function(){return{startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var n=e.peek();switch(n){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string-2":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable-2":-1!=["[","]","(",")","{","}"].indexOf(n)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}),e.defineMIME("text/x-spreadsheet","spreadsheet")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null}function n(e){return e.eat("@")&&(e.match(/^session\./),e.match(/^local\./),e.match(/^global\./)),e.eat("'")?(e.match(/^.*'/),"variable-2"):e.eat('"')?(e.match(/^.*"/),"variable-2"):e.eat("`")?(e.match(/^.*`/),"variable-2"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function r(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"variable-2":null}e.defineMode("sql",function(t,n){var r=n.client||{},s=n.atoms||{false:!0,true:!0,null:!0},l=n.builtin||o(a),c=n.keywords||o(i),u=n.operatorChars||/^[*+\-%<>!=&|~^\/]/,d=n.support||{},f=n.hooks||{},p=n.dateSQL||{date:!0,time:!0,timestamp:!0},m=!1!==n.backslashStringEscapes,h=n.brackets||/^[\{}\(\)\[\]]/,g=n.punctuation||/^[;.,:]/;function v(e,t){var n,i=e.next();if(f[i]){var o=f[i](e,t);if(!1!==o)return o}if(d.hexNumber&&("0"==i&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==i||"X"==i)&&e.match(/^'[0-9a-fA-F]+'/)))return"number";if(d.binaryNumber&&(("b"==i||"B"==i)&&e.match(/^'[01]+'/)||"0"==i&&e.match(/^b[01]+/)))return"number";if(i.charCodeAt(0)>47&&i.charCodeAt(0)<58)return e.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),d.decimallessFloat&&e.match(/^\.(?!\.)/),"number";if("?"==i&&(e.eatSpace()||e.eol()||e.eat(";")))return"variable-3";if("'"==i||'"'==i&&d.doubleQuote)return t.tokenize=(n=i,function(e,t){for(var r,i=!1;null!=(r=e.next());){if(r==n&&!i){t.tokenize=v;break}i=m&&!i&&"\\"==r}return"string"}),t.tokenize(e,t);if((d.nCharCast&&("n"==i||"N"==i)||d.charsetCast&&"_"==i&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(d.commentSlashSlash&&"/"==i&&e.eat("/"))return e.skipToEnd(),"comment";if(d.commentHash&&"#"==i||"-"==i&&e.eat("-")&&(!d.commentSpaceRequired||e.eat(" ")))return e.skipToEnd(),"comment";if("/"==i&&e.eat("*"))return t.tokenize=function e(t){return function(n,r){var i=n.match(/^.*?(\/\*|\*\/)/);return i?"/*"==i[1]?r.tokenize=e(t+1):r.tokenize=t>1?e(t-1):v:n.skipToEnd(),"comment"}}(1),t.tokenize(e,t);if("."!=i){if(u.test(i))return e.eatWhile(u),"operator";if(h.test(i))return"bracket";if(g.test(i))return e.eatWhile(g),"punctuation";if("{"==i&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);var a=e.current().toLowerCase();return p.hasOwnProperty(a)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":s.hasOwnProperty(a)?"atom":l.hasOwnProperty(a)?"builtin":c.hasOwnProperty(a)?"keyword":r.hasOwnProperty(a)?"string-2":null}return d.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":e.match(/^\.+/)?null:d.ODBCdotTable&&e.match(/^[\w\d_]+/)?"variable-2":void 0}function b(e,t,n){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:n}}return{startState:function(){return{tokenize:v,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),t.tokenize==v&&e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"==n)return n;t.context&&null==t.context.align&&(t.context.align=!0);var r=e.current();return"("==r?b(e,t,")"):"["==r?b(e,t,"]"):t.context&&t.context.type==r&&function(e){e.indent=e.context.indent,e.context=e.context.prev}(t),n},indent:function(n,r){var i=n.context;if(!i)return e.Pass;var o=r.charAt(0)==i.type;return i.align?i.col+(o?0:1):i.indent+(o?0:t.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:d.commentSlashSlash?"//":d.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``"}});var i="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function o(e){for(var t={},n=e.split(" "),r=0;r!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:o("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":n}}),e.defineMIME("text/x-mysql",{name:"sql",client:o("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:o(i+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:o("date time timestamp"),support:o("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":n,"`":t,"\\":r}}),e.defineMIME("text/x-mariadb",{name:"sql",client:o("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:o(i+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:o("date time timestamp"),support:o("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":n,"`":t,"\\":r}}),e.defineMIME("text/x-sqlite",{name:"sql",client:o("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:o(i+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:o("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:o("date time timestamp datetime"),support:o("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":n,":":n,"?":n,$:n,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null},"`":t}}),e.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:o("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:o("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:o("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:o("commentSlashSlash decimallessFloat"),hooks:{}}),e.defineMIME("text/x-plsql",{name:"sql",client:o("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:o("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:o("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:o("date time timestamp"),support:o("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),e.defineMIME("text/x-hive",{name:"sql",keywords:o("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:o("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:o("date timestamp"),support:o("ODBCdotTable doubleQuote binaryNumber hexNumber")}),e.defineMIME("text/x-pgsql",{name:"sql",client:o("source"),keywords:o(i+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:o("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:o("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,dateSQL:o("date time timestamp"),support:o("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),e.defineMIME("text/x-gql",{name:"sql",keywords:o("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:o("false true"),builtin:o("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),e.defineMIME("text/x-gpsql",{name:"sql",client:o("source"),keywords:o("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:o("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:o("date time timestamp"),support:o("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),e.defineMIME("text/x-sparksql",{name:"sql",keywords:o("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:o("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:o("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:o("date time timestamp"),support:o("ODBCdotTable doubleQuote zerolessFloat")}),e.defineMIME("text/x-esper",{name:"sql",client:o("source"),keywords:o("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:o("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:o("time"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber")})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=0;n~^?!",s=":;,.(){}[]",l=/^\-?0b[01][01_]*/,c=/^\-?0o[0-7][0-7_]*/,u=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,d=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,f=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,p=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,m=/^\#[A-Za-z]+/,h=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function g(e,t,g){if(e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;var y,k=e.peek();if("/"==k){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return t.tokenize.push(b),b(e,t)}if(e.match(m))return"builtin";if(e.match(h))return"attribute";if(e.match(l))return"number";if(e.match(c))return"number";if(e.match(u))return"number";if(e.match(d))return"number";if(e.match(p))return"property";if(a.indexOf(k)>-1)return e.next(),"operator";if(s.indexOf(k)>-1)return e.next(),e.match(".."),"punctuation";if(y=e.match(/("""|"|')/)){var x=function(e,t,n){for(var r,i=1==e.length,o=!1;r=t.peek();)if(o){if(t.next(),"("==r)return n.tokenize.push(v()),"string";o=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),o="\\"==r}return i&&n.tokenize.pop(),"string"}.bind(null,y[0]);return t.tokenize.push(x),x(e,t)}if(e.match(f)){var w=e.current();return o.hasOwnProperty(w)?"variable-2":i.hasOwnProperty(w)?"atom":n.hasOwnProperty(w)?(r.hasOwnProperty(w)&&(t.prev="define"),"keyword"):"define"==g?"def":"variable"}return e.next(),null}function v(){var e=0;return function(t,n,r){var i=g(t,n,r);if("punctuation"==i)if("("==t.current())++e;else if(")"==t.current()){if(0==e)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}return i}}function b(e,t){for(var n;e.match(/^[^/*]+/,!0),n=e.next();)"/"===n&&e.eat("*")?t.tokenize.push(b):"*"===n&&e.eat("/")&&t.tokenize.pop();return"comment"}function y(e,t,n){this.prev=e,this.align=t,this.indented=n}e.defineMode("swift",function(e){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=t.tokenize[t.tokenize.length-1]||g,i=r(e,t,n);if(i&&"comment"!=i?t.prev||(t.prev=i):t.prev=n,"punctuation"==i){var o=/[\(\[\{]|([\]\)\}])/.exec(e.current());o&&(o[1]?function(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}:function(e,t){var n=t.match(/^\s*($|\/[\/\*])/,!1)?null:t.column()+1;e.context=new y(e.context,n,e.indented)})(t,e)}return i},indent:function(t,n){var r=t.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return null!=r.align?r.align-(i?1:0):r.indented+(i?0:e.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),e.defineMIME("text/x-swift","swift")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("tcl",function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?^\/\|]/;function i(e,t,n){return t.tokenize=n,n(e,t)}function o(e,l){var c=l.beforeParams;l.beforeParams=!1;var u,d=e.next();if('"'!=d&&"'"!=d||!l.inParams){if(/[\[\]{}\(\),;\.]/.test(d))return"("==d&&c?l.inParams=!0:")"==d&&(l.inParams=!1),null;if(/\d/.test(d))return e.eatWhile(/[\w\.]/),"number";if("#"==d)return e.eat("*")?i(e,l,a):"#"==d&&e.match(/ *\[ *\[/)?i(e,l,s):(e.skipToEnd(),"comment");if('"'==d)return e.skipTo(/"/),"comment";if("$"==d)return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),l.beforeParams=!0,"builtin";if(r.test(d))return e.eatWhile(r),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);var f=e.current().toLowerCase();return t&&t.propertyIsEnumerable(f)?"keyword":n&&n.propertyIsEnumerable(f)?(l.beforeParams=!0,"keyword"):null}return i(e,l,(u=d,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==u&&!r){i=!0;break}r=!r&&"\\"==n}return i&&(t.tokenize=o),"string"}))}function a(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=o;break}r="*"==n}return"comment"}function s(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=o;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}}),e.defineMIME("text/x-tcl","tcl")}(n(0))},function(e,t,n){!function(e){"use strict";var t={addition:"positive",attributes:"attribute",bold:"strong",cite:"keyword",code:"atom",definitionList:"number",deletion:"negative",div:"punctuation",em:"em",footnote:"variable",footCite:"qualifier",header:"header",html:"comment",image:"string",italic:"em",link:"link",linkDefinition:"link",list1:"variable-2",list2:"variable-3",list3:"keyword",notextile:"string-2",pre:"operator",p:"property",quote:"bracket",span:"quote",specialChar:"tag",strong:"strong",sub:"builtin",sup:"builtin",table:"variable-3",tableHeading:"operator"};function n(e,n,o){if("_"===o)return e.eat("_")?r(e,n,"italic",/__/,2):r(e,n,"em",/_/,1);if("*"===o)return e.eat("*")?r(e,n,"bold",/\*\*/,2):r(e,n,"strong",/\*/,1);if("["===o)return e.match(/\d+\]/)&&(n.footCite=!0),i(n);if("("===o){var s=e.match(/^(r|tm|c)\)/);if(s)return a(n,t.specialChar)}if("<"===o&&e.match(/(\w+)[^>]+>[^<]+<\/\1>/))return a(n,t.html);if("?"===o&&e.eat("?"))return r(e,n,"cite",/\?\?/,2);if("="===o&&e.eat("="))return r(e,n,"notextile",/==/,2);if("-"===o&&!e.eat("-"))return r(e,n,"deletion",/-/,1);if("+"===o)return r(e,n,"addition",/\+/,1);if("~"===o)return r(e,n,"sub",/~/,1);if("^"===o)return r(e,n,"sup",/\^/,1);if("%"===o)return r(e,n,"span",/%/,1);if("@"===o)return r(e,n,"code",/@/,1);if("!"===o){var l=r(e,n,"image",/(?:\([^\)]+\))?!/,1);return e.match(/^:\S+/),l}return i(n)}function r(e,t,n,r,o){var a=e.pos>o?e.string.charAt(e.pos-o-1):null,s=e.peek();if(t[n]){if((!s||/\W/.test(s))&&a&&/\S/.test(a)){var l=i(t);return t[n]=!1,l}}else(!a||/\W/.test(a))&&s&&/\S/.test(s)&&e.match(new RegExp("^.*\\S"+r.source+"(?:\\W|$)"),!1)&&(t[n]=!0,t.mode=u.attributes);return i(t)}function i(e){var n=o(e);if(n)return n;var r=[];return e.layoutType&&r.push(t[e.layoutType]),r=r.concat(function(e){for(var n=[],r=1;r]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:function(e){switch(e){case"drawTable":return l.makeRe("^",l.single.drawTable,"$");case"html":return l.makeRe("^",l.single.html,"(?:",l.single.html,")*","$");case"linkDefinition":return l.makeRe("^",l.single.linkDefinition,"$");case"listLayout":return l.makeRe("^",l.single.list,c("allAttributes"),"*\\s+");case"tableCellAttributes":return l.makeRe("^",l.choiceRe(l.single.tableCellAttributes,c("allAttributes")),"+\\.");case"type":return l.makeRe("^",c("allTypes"));case"typeLayout":return l.makeRe("^",c("allTypes"),c("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return l.makeRe("^",c("allAttributes"),"+");case"allTypes":return l.choiceRe(l.single.div,l.single.foot,l.single.header,l.single.bc,l.single.bq,l.single.notextile,l.single.pre,l.single.table,l.single.para);case"allAttributes":return l.choiceRe(l.attributes.selector,l.attributes.css,l.attributes.lang,l.attributes.align,l.attributes.pad);default:return l.makeRe("^",l.single[e])}},makeRe:function(){for(var e="",t=0;t$/,u=/^$/,d=/^\{\{\{$/,f=/^\}\}\}$/,p=/.*?\}\}\}/;function m(e,t,n){return t.tokenize=n,n(e,t)}function h(t,f){var p=t.sol(),h=t.peek();if(f.block=!1,p&&/[<\/\*{}\-]/.test(h)){if(t.match(d))return f.block=!0,m(t,f,b);if(t.match(a))return"quote";if(t.match(i)||t.match(o))return"comment";if(t.match(s)||t.match(l)||t.match(c)||t.match(u))return"comment";if(t.match(r))return"hr"}if(t.next(),p&&/[\/\*!#;:>|]/.test(h)){if("!"==h)return t.skipToEnd(),"header";if("*"==h)return t.eatWhile("*"),"comment";if("#"==h)return t.eatWhile("#"),"comment";if(";"==h)return t.eatWhile(";"),"comment";if(":"==h)return t.eatWhile(":"),"comment";if(">"==h)return t.eatWhile(">"),"quote";if("|"==h)return"header"}if("{"==h&&t.match(/\{\{/))return m(t,f,b);if(/[hf]/i.test(h)&&/[ti]/i.test(t.peek())&&t.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==h)return"string";if("~"==h)return"brace";if(/[\[\]]/.test(h)&&t.match(h))return"brace";if("@"==h)return t.eatWhile(n),"link";if(/\d/.test(h))return t.eatWhile(/\d/),"number";if("/"==h){if(t.eat("%"))return m(t,f,g);if(t.eat("/"))return m(t,f,y)}if("_"==h&&t.eat("_"))return m(t,f,k);if("-"==h&&t.eat("-")){if(" "!=t.peek())return m(t,f,x);if(" "==t.peek())return"brace"}return"'"==h&&t.eat("'")?m(t,f,v):"<"==h&&t.eat("<")?m(t,f,w):(t.eatWhile(/[\w\$_]/),e.propertyIsEnumerable(t.current())?"keyword":null)}function g(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=h;break}r="%"==n}return"comment"}function v(e,t){for(var n,r=!1;n=e.next();){if("'"==n&&r){t.tokenize=h;break}r="'"==n}return"strong"}function b(e,t){var n=t.block;return n&&e.current()?"comment":!n&&e.match(p)?(t.tokenize=h,"comment"):n&&e.sol()&&e.match(f)?(t.tokenize=h,"comment"):(e.next(),"comment")}function y(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=h;break}r="/"==n}return"em"}function k(e,t){for(var n,r=!1;n=e.next();){if("_"==n&&r){t.tokenize=h;break}r="_"==n}return"underlined"}function x(e,t){for(var n,r=!1;n=e.next();){if("-"==n&&r){t.tokenize=h;break}r="-"==n}return"strikethrough"}function w(e,n){if("<<"==e.current())return"macro";var r=e.next();return r?">"==r&&">"==e.peek()?(e.next(),n.tokenize=h,"macro"):(e.eatWhile(/[\w\$_]/),t.propertyIsEnumerable(e.current())?"keyword":null):(n.tokenize=h,null)}return{startState:function(){return{tokenize:h}},token:function(e,t){if(e.eatSpace())return null;var n=t.tokenize(e,t);return n}}}),e.defineMIME("text/x-tiddlywiki","tiddlywiki")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("tiki",function(e){function t(e,t,n){return function(i,o){for(;!i.eol();){if(i.match(t)){o.tokenize=r;break}i.next()}return n&&(o.tokenize=n),e}}function n(e){return function(t,n){for(;!t.eol();)t.next();return n.tokenize=r,e}}function r(e,i){function o(t){return i.tokenize=t,t(e,i)}var a=e.sol(),s=e.next();switch(s){case"{":return e.eat("/"),e.eatSpace(),e.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),i.tokenize=c,"tag";case"_":if(e.eat("_"))return o(t("strong","__",r));break;case"'":if(e.eat("'"))return o(t("em","''",r));break;case"(":if(e.eat("("))return o(t("variable-2","))",r));break;case"[":return o(t("variable-3","]",r));case"|":if(e.eat("|"))return o(t("comment","||"));break;case"-":if(e.eat("="))return o(t("header string","=-",r));if(e.eat("-"))return o(t("error tw-deleted","--",r));break;case"=":if(e.match("=="))return o(t("tw-underline","===",r));break;case":":if(e.eat(":"))return o(t("comment","::"));break;case"^":return o(t("tw-box","^"));case"~":if(e.match("np~"))return o(t("meta","~/np~"))}if(a)switch(s){case"!":return e.match("!!!!!")?o(n("header string")):e.match("!!!!")?o(n("header string")):e.match("!!!")?o(n("header string")):(e.match("!!"),o(n("header string")));case"*":case"#":case"+":return o(n("tw-listitem bracket"))}return null}var i,o,a,s,l=e.indentUnit;function c(e,t){var n,i=e.next(),a=e.peek();return"}"==i?(t.tokenize=r,"tag"):"("==i||")"==i?"bracket":"="==i?(o="equals",">"==a&&(e.next(),a=e.peek()),/[\'\"]/.test(a)||(t.tokenize=function(e,t){for(;!e.eol();){var n=e.next(),r=e.peek();if(" "==n||","==n||/[ )}]/.test(r)){t.tokenize=c;break}}return"string"}),"operator"):/[\'\"]/.test(i)?(t.tokenize=(n=i,function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=c;break}return"string"}),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function u(){for(var e=arguments.length-1;e>=0;e--)a.cc.push(arguments[e])}function d(){return u.apply(null,arguments),!0}function f(e,t){var n=a.context&&a.context.noIndent;a.context={prev:a.context,pluginName:e,indent:a.indented,startOfLine:t,noIndent:n}}function p(){a.context&&(a.context=a.context.prev)}function m(e){if("openPlugin"==e)return a.pluginName=i,d(h,(n=a.startOfLine,function(e){return"selfclosePlugin"==e||"endPlugin"==e?d():"endPlugin"==e?(f(a.pluginName,n),d()):d()}));if("closePlugin"==e){var t=!1;return a.context?(t=a.context.pluginName!=i,p()):t=!0,t&&(s="error"),d(function(e){return function(t){return e&&(s="error"),"endPlugin"==t?d():u()}}(t))}return"string"==e?(a.context&&"!cdata"==a.context.name||f("!cdata"),a.tokenize==r&&p(),d()):d();var n}function h(e){return"keyword"==e?(s="attribute",d(h)):"equals"==e?d(g,h):u()}function g(e){return"keyword"==e?(s="string",d()):"string"==e?d(v):u()}function v(e){return"string"==e?d(v):u()}return{startState:function(){return{tokenize:r,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;s=o=i=null;var n=t.tokenize(e,t);if((n||o)&&"comment"!=n)for(a=t;;){var r=t.cc.pop()||m;if(r(o||n))break}return t.startOfLine=!1,s||n},indent:function(e,t){var n=e.context;if(n&&n.noIndent)return 0;for(n&&/^{\//.test(t)&&(n=n.prev);n&&!n.startOfLine;)n=n.prev;return n?n.indent+l:0},electricChars:"/"}}),e.defineMIME("text/tiki","tiki")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("toml",function(){return{startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,t){if(t.inString||'"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.inString=!0),e.sol()&&0===t.inArray&&(t.lhs=!0),t.inString){for(;t.inString&&!e.eol();)e.peek()===t.stringType?(e.next(),t.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property string":"string"}return t.inArray&&"]"===e.peek()?(e.next(),t.inArray--,"bracket"):t.lhs&&"["===e.peek()&&e.skipTo("]")?(e.next(),"]"===e.peek()&&e.next(),"atom"):"#"===e.peek()?(e.skipToEnd(),"comment"):e.eatSpace()?null:t.lhs&&e.eatWhile(function(e){return"="!=e&&" "!=e})?"property":t.lhs&&"="===e.peek()?(e.next(),t.lhs=!1,null):!t.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/)?"atom":t.lhs||!e.match("true")&&!e.match("false")?t.lhs||"["!==e.peek()?!t.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?"number":(e.eatSpace()||e.next(),null):(t.inArray++,e.next(),"bracket"):"atom"}}}),e.defineMIME("text/x-toml","toml")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("tornado:inner",function(){var e=["and","as","assert","autoescape","block","break","class","comment","context","continue","datetime","def","del","elif","else","end","escape","except","exec","extends","false","finally","for","from","global","if","import","in","include","is","json_encode","lambda","length","linkify","load","module","none","not","or","pass","print","put","raise","raw","return","self","set","squeeze","super","true","try","url_escape","while","with","without","xhtml_escape","yield"];function t(n,r){n.eatWhile(/[^\{]/);var i,o=n.next();if("{"==o&&(o=n.eat(/\{|%|#/)))return r.tokenize=("{"==(i=o)&&(i="}"),function(n,r){var o=n.next();return o==i&&n.eat("}")?(r.tokenize=t,"tag"):n.match(e)?"keyword":"#"==i?"comment":"string"}),"tag"}return e=new RegExp("^(("+e.join(")|(")+"))\\b"),{startState:function(){return{tokenize:t}},token:function(e,t){return t.tokenize(e,t)}}}),e.defineMode("tornado",function(t){var n=e.getMode(t,"text/html"),r=e.getMode(t,"tornado:inner");return e.overlayMode(n,r)}),e.defineMIME("text/x-tornado","tornado")}(n(0),n(6),n(22))},function(e,t,n){!function(e){"use strict";e.defineMode("troff",function(){var e={};function t(t,n){return(n.tokens[0]||function(t){if(t.eatSpace())return null;var n=t.sol(),r=t.next();if("\\"===r)return t.match("fB")||t.match("fR")||t.match("fI")||t.match("u")||t.match("d")||t.match("%")||t.match("&")?"string":t.match("m[")?(t.skipTo("]"),t.next(),"string"):t.match("s+")||t.match("s-")?(t.eatWhile(/[\d-]/),"string"):t.match("(")||t.match("*(")?(t.eatWhile(/[\w-]/),"string"):"string";if(n&&("."===r||"'"===r)&&t.eat("\\")&&t.eat('"'))return t.skipToEnd(),"comment";if(n&&"."===r){if(t.match("B ")||t.match("I ")||t.match("R "))return"attribute";if(t.match("TH ")||t.match("SH ")||t.match("SS ")||t.match("HP "))return t.skipToEnd(),"quote";if(t.match(/[A-Z]/)&&t.match(/[A-Z]/)||t.match(/[a-z]/)&&t.match(/[a-z]/))return"attribute"}t.eatWhile(/[\w-]/);var i=t.current();return e.hasOwnProperty(i)?e[i]:null})(t,n)}return{startState:function(){return{tokens:[]}},token:function(e,n){return t(e,n)}}}),e.defineMIME("text/troff","troff"),e.defineMIME("text/x-troff","troff"),e.defineMIME("application/x-troff","troff")}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r!\/]/;function x(e,t){var r,y=e.next();if('"'==y||"'"==y)return t.tokenize=(r=y,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){var a=e.peek();a&&("b"!=(a=a.toLowerCase())&&"h"!=a&&"o"!=a||e.next()),o=!0;break}i=!i&&"\\"==n}return(o||!i&&!b)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\\:\?\.]/.test(y))return n=y,"punctuation";if("#"==y)return e.skipToEnd(),"atom preprocessor";if("%"==y)return e.eatWhile(/\b/),"atom ttcn3Macros";if(/\d/.test(y))return e.eatWhile(/[\w\.]/),"number";if("/"==y){if(e.eat("*"))return t.tokenize=w,w(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(k.test(y))return"@"==y&&(e.match("try")||e.match("catch")||e.match("lazy"))?"keyword":(e.eatWhile(k),"operator");e.eatWhile(/[\w\$_\xa1-\uffff]/);var x=e.current();return i.propertyIsEnumerable(x)?"keyword":o.propertyIsEnumerable(x)?"builtin":a.propertyIsEnumerable(x)?"def timerOps":l.propertyIsEnumerable(x)?"def configOps":c.propertyIsEnumerable(x)?"def verdictOps":s.propertyIsEnumerable(x)?"def portOps":u.propertyIsEnumerable(x)?"def sutOps":d.propertyIsEnumerable(x)?"def functionOps":f.propertyIsEnumerable(x)?"string verdictConsts":p.propertyIsEnumerable(x)?"string booleanConsts":m.propertyIsEnumerable(x)?"string otherConsts":h.propertyIsEnumerable(x)?"builtin types":g.propertyIsEnumerable(x)?"builtin visibilityModifiers":v.propertyIsEnumerable(x)?"atom templateMatch":"variable"}function w(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function _(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function S(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new _(r,t,n,null,e.context)}function E(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new _((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;n=null;var i=(t.tokenize||x)(e,t);if("comment"==i)return i;if(null==r.align&&(r.align=!0),";"!=n&&":"!=n&&","!=n||"statement"!=r.type)if("{"==n)S(t,e.column(),"}");else if("["==n)S(t,e.column(),"]");else if("("==n)S(t,e.column(),")");else if("}"==n){for(;"statement"==r.type;)r=E(t);for("}"==r.type&&(r=E(t));"statement"==r.type;)r=E(t)}else n==r.type?E(t):y&&(("}"==r.type||"top"==r.type)&&";"!=n||"statement"==r.type&&"newstatement"==n)&&S(t,e.column(),"statement");else E(t);return t.startOfLine=!1,i},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),function(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.builtin),i(n.timerOps),i(n.portOps),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o=&|]/;function a(e,n){var r,s=e.next();if(t=null,"<"!=s||e.match(/^[\s\u00a0=]/,!1)){if('"'==s||"'"==s)return n.tokenize=(r=s,function(e,t){for(var n,i=!1;null!=(n=e.next());){if(n==r&&!i){t.tokenize=a;break}i=!i&&"\\"==n}return"string"}),n.tokenize(e,n);if(/[{}\(\),\.;\[\]]/.test(s))return t=s,null;if("#"==s)return e.skipToEnd(),"comment";if(o.test(s))return e.eatWhile(o),null;if(":"==s)return"operator";if(e.eatWhile(/[_\w\d]/),":"==e.peek())return"variable-3";var l=e.current();return i.test(l)?"meta":s>="A"&&s<="Z"?"comment":"keyword"}return e.match(/^[^\s\u00a0>]*>?/),"atom"}function s(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function l(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:a,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)s(n,")",e.column());else if("["==t)s(n,"]",e.column());else if("{"==t)s(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)l(n);n.context&&t==n.context.type&&l(n)}else"."==t&&n.context&&"pattern"==n.context.type?l(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?s(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0},lineComment:"#"}}),e.defineMIME("text/turtle","turtle")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("twig:inner",function(){var e=["and","as","autoescape","endautoescape","block","do","endblock","else","elseif","extends","for","endfor","embed","endembed","filter","endfilter","flush","from","if","endif","in","is","include","import","not","or","set","spaceless","endspaceless","with","endwith","trans","endtrans","blocktrans","endblocktrans","macro","endmacro","use","verbatim","endverbatim"],t=/^[+\-*&%=<>!?|~^]/,n=/^[:\[\(\{]/,r=["true","false","null","empty","defined","divisibleby","divisible by","even","odd","iterable","sameas","same as"],i=/^(\d[+\-\*\/])?\d+(\.\d+)?/;return e=new RegExp("(("+e.join(")|(")+"))\\b"),r=new RegExp("(("+r.join(")|(")+"))\\b"),{startState:function(){return{}},token:function(o,a){return function(o,a){var s=o.peek();if(a.incomment)return o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(a.intag){if(a.operator){if(a.operator=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.sign){if(a.sign=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.instring)return s==a.instring&&(a.instring=!1),o.next(),"string";if("'"==s||'"'==s)return a.instring=s,o.next(),"string";if(o.match(a.intag+"}")||o.eat("-")&&o.match(a.intag+"}"))return a.intag=!1,"tag";if(o.match(t))return a.operator=!0,"operator";if(o.match(n))a.sign=!0;else if(o.eat(" ")||o.sol()){if(o.match(e))return"keyword";if(o.match(r))return"atom";if(o.match(i))return"number";o.sol()&&o.next()}else o.next();return"variable"}if(o.eat("{")){if(o.eat("#"))return a.incomment=!0,o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(s=o.eat(/\{|%/))return a.intag=s,"{"==s&&(a.intag="}"),o.eat("-"),"tag"}o.next()}(o,a)}}}),e.defineMode("twig",function(t,n){var r=e.getMode(t,"twig:inner");return n&&n.base?e.multiplexingMode(e.getMode(t,n.base),{open:/\{[{#%]/,close:/[}#%]\}/,mode:r,parseDelimiters:!0}):r}),e.defineMIME("text/x-twig","twig")}(n(0),n(37))},function(e,t,n){!function(e){"use strict";e.defineMode("vb",function(t,n){var r="error";function i(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var o=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),a=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),s=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),l=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),c=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),u=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),d=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],f=["else","elseif","case","catch","finally"],p=["next","loop"],m=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],h=i(m),g=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],v=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],b=i(g),y=i(v),k='"',x=i(d),w=i(f),_=i(p),S=i(["end"]),E=i(["do"]),T=null;function C(e,t){t.currentIndent++}function M(e,t){t.currentIndent--}function I(e,t){if(e.eatSpace())return null;var i,d,f=e.peek();if("'"===f)return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var p=!1;if(e.match(/^\d*\.\d+F?/i)?p=!0:e.match(/^\d+\.\d*F?/)?p=!0:e.match(/^\.\d+F?/)&&(p=!0),p)return e.eat(/J/i),"number";var m=!1;if(e.match(/^&H[0-9a-f]+/i)?m=!0:e.match(/^&O[0-7]+/i)?m=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),m=!0):e.match(/^0(?![\dx])/i)&&(m=!0),m)return e.eat(/L/i),"number"}return e.match(k)?(t.tokenize=(i=e.current(),d=1==i.length,function(e,t){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(i))return t.tokenize=I,"string";e.eat(/['"]/)}if(d){if(n.singleLineStringErrors)return r;t.tokenize=I}return"string"}),t.tokenize(e,t)):e.match(c)||e.match(l)?null:e.match(s)||e.match(o)||e.match(h)?"operator":e.match(a)?null:e.match(E)?(C(0,t),t.doInCurrentLine=!0,"keyword"):e.match(x)?(t.doInCurrentLine?t.doInCurrentLine=!1:C(0,t),"keyword"):e.match(w)?"keyword":e.match(S)?(M(0,t),M(0,t),"keyword"):e.match(_)?(M(0,t),"keyword"):e.match(y)?"keyword":e.match(b)?"keyword":e.match(u)?"variable":(e.next(),r)}e.registerHelper("hintWords","vb",d.concat(f).concat(p).concat(m).concat(g).concat(v));var A={electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:I,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n=function(e,t){var n=t.tokenize(e,t),i=e.current();if("."===i)return"variable"===(n=t.tokenize(e,t))?"variable":r;var o="[({".indexOf(i);return-1!==o&&C(0,t),"dedent"===T&&M(0,t)?r:-1!==(o="])}".indexOf(i))&&M(0,t)?r:n}(e,t);return t.lastToken={style:n,content:e.current()},n},indent:function(e,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(_)||r.match(S)||r.match(w)?t.indentUnit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*t.indentUnit},lineComment:"'"};return A}),e.defineMIME("text/x-vb","vb")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("vbscript",function(e,t){var n="error";function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var i=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),o=new RegExp("^((<>)|(<=)|(>=))"),a=new RegExp("^[\\.,]"),s=new RegExp("^[\\(\\)]"),l=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),c=r(["and","or","not","xor","is","mod","eqv","imp"]),u=["WScript","err","debug","RegExp"],d=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"].concat(["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"]);u=u.concat(["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"]),e.isASP&&(u=u.concat(["server","response","request","session","application"]),d=d.concat(["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"]));var f=r(["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"]),p=r(["true","false","nothing","empty","null"]),m=r(["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"]),h=r(u),g=r(d),v='"',b=r(["class","sub","select","while","if","function","property","with","for"]),y=r(["else","elseif","case"]),k=r(["next","loop","wend"]),x=r(["end"]),w=r(["do"]),_=r(["on error resume next","exit"]),S=r(["rem"]);function E(e,t){t.currentIndent++}function T(e,t){t.currentIndent--}function C(e,r){if(e.eatSpace())return"space";var u,d,M=e.peek();if("'"===M)return e.skipToEnd(),"comment";if(e.match(S))return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!e.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var I=!1;if(e.match(/^\d*\.\d+/i)?I=!0:e.match(/^\d+\.\d*/)?I=!0:e.match(/^\.\d+/)&&(I=!0),I)return e.eat(/J/i),"number";var A=!1;if(e.match(/^&H[0-9a-f]+/i)?A=!0:e.match(/^&O[0-7]+/i)?A=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),A=!0):e.match(/^0(?![\dx])/i)&&(A=!0),A)return e.eat(/L/i),"number"}return e.match(v)?(r.tokenize=(u=e.current(),d=1==u.length,function(e,r){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(u))return r.tokenize=C,"string";e.eat(/['"]/)}if(d){if(t.singleLineStringErrors)return n;r.tokenize=C}return"string"}),r.tokenize(e,r)):e.match(o)||e.match(i)||e.match(c)?"operator":e.match(a)?null:e.match(s)?"bracket":e.match(_)?(r.doInCurrentLine=!0,"keyword"):e.match(w)?(E(0,r),r.doInCurrentLine=!0,"keyword"):e.match(b)?(r.doInCurrentLine?r.doInCurrentLine=!1:E(0,r),"keyword"):e.match(y)?"keyword":e.match(x)?(T(0,r),T(0,r),"keyword"):e.match(k)?(r.doInCurrentLine?r.doInCurrentLine=!1:T(0,r),"keyword"):e.match(f)?"keyword":e.match(p)?"atom":e.match(g)?"variable-2":e.match(m)?"builtin":e.match(h)?"variable-2":e.match(l)?"variable":(e.next(),n)}var M={electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:C,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var r=function(e,t){var r=t.tokenize(e,t),i=e.current();return"."===i?(r=t.tokenize(e,t),i=e.current(),!r||"variable"!==r.substr(0,8)&&"builtin"!==r&&"keyword"!==r?n:("builtin"!==r&&"keyword"!==r||(r="variable"),d.indexOf(i.substr(1))>-1&&(r="variable-2"),r)):r}(e,t);return t.lastToken={style:r,content:e.current()},"space"===r&&(r=null),r},indent:function(t,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(k)||r.match(x)||r.match(y)?e.indentUnit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*e.indentUnit}};return M}),e.defineMIME("text/vbscript","vbscript")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("velocity",function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?:\/|]/;function o(e,t,n){return t.tokenize=n,n(e,t)}function a(e,a){var u=a.beforeParams;a.beforeParams=!1;var d=e.next();if("'"==d&&!a.inString&&a.inParams)return a.lastTokenWasBuiltin=!1,o(e,a,s(d));if('"'!=d){if(/[\[\]{}\(\),;\.]/.test(d))return"("==d&&u?a.inParams=!0:")"==d&&(a.inParams=!1,a.lastTokenWasBuiltin=!0),null;if(/\d/.test(d))return a.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),"number";if("#"==d&&e.eat("*"))return a.lastTokenWasBuiltin=!1,o(e,a,l);if("#"==d&&e.match(/ *\[ *\[/))return a.lastTokenWasBuiltin=!1,o(e,a,c);if("#"==d&&e.eat("#"))return a.lastTokenWasBuiltin=!1,e.skipToEnd(),"comment";if("$"==d)return e.eatWhile(/[\w\d\$_\.{}-]/),r&&r.propertyIsEnumerable(e.current())?"keyword":(a.lastTokenWasBuiltin=!0,a.beforeParams=!0,"builtin");if(i.test(d))return a.lastTokenWasBuiltin=!1,e.eatWhile(i),"operator";e.eatWhile(/[\w\$_{}@]/);var f=e.current();return t&&t.propertyIsEnumerable(f)?"keyword":n&&n.propertyIsEnumerable(f)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==e.peek()&&(!n||!n.propertyIsEnumerable(f.toLowerCase()))?(a.beforeParams=!0,a.lastTokenWasBuiltin=!1,"keyword"):a.inString?(a.lastTokenWasBuiltin=!1,"string"):e.pos>f.length&&"."==e.string.charAt(e.pos-f.length-1)&&a.lastTokenWasBuiltin?"builtin":(a.lastTokenWasBuiltin=!1,null)}return a.lastTokenWasBuiltin=!1,a.inString?(a.inString=!1,"string"):a.inParams?o(e,a,s(d)):void 0}function s(e){return function(t,n){for(var r,i=!1,o=!1;null!=(r=t.next());){if(r==e&&!i){o=!0;break}if('"'==e&&"$"==t.peek()&&!i){n.inString=!0,o=!0;break}i=!i&&"\\"==r}return o&&(n.tokenize=a),"string"}}function l(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=a;break}r="*"==n}return"comment"}function c(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=a;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:a,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}}),e.defineMIME("text/velocity","velocity")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("verilog",function(t,n){var r=t.indentUnit,i=n.statementIndentUnit||r,o=n.dontAlignCalls,a=n.noIndentKeywords||[],s=n.multiLineStrings,l=n.hooks||{};function c(e){for(var t={},n=e.split(" "),r=0;r=0)return a}var s=t.context,c=n&&n.charAt(0);"statement"==s.type&&"}"==c&&(s=s.prev);var u=!1,d=n.match(x);return d&&(u=O(d[0],s.type)),"statement"==s.type?s.indented+("{"==c?0:i):w.test(s.type)&&s.align&&!o?s.column+(u?0:1):")"!=s.type||u?s.indented+(u?0:r):s.indented+i},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),e.defineMIME("text/x-verilog",{name:"verilog"}),e.defineMIME("text/x-systemverilog",{name:"verilog"});var t={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"hr","/":"property","/-":"property","@":"variable-3","@-":"variable-3","@++":"variable-3","@+=":"variable-3","@+=-":"variable-3","@--":"variable-3","@-=":"variable-3","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable-2","**":"variable-2","\\":"keyword",'"':"comment"},n={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},r=3,i=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,o=/^[! ] /,a=/^[! ] */,s=/^\/[\/\*]/;function l(e,t,n){var i=t/r;return"tlv-"+e.tlvIndentationStyle[i]+"-"+n}e.defineMIME("text/x-tlv",{name:"verilog",hooks:{electricInput:!1,token:function(e,c){var u=void 0;if(e.sol()&&!c.tlvInBlockComment){"\\"==e.peek()&&(u="def",e.skipToEnd(),e.string.match(/\\SV/)?c.tlvCodeActive=!1:e.string.match(/\\TLV/)&&(c.tlvCodeActive=!0)),c.tlvCodeActive&&0==e.pos&&0==c.indented&&(v=e.match(a,!1))&&(c.indented=v[0].length);var d=c.indented,f=d/r;if(f<=c.tlvIndentationStyle.length){var p=e.string.length==d,m=f*r;if(m0||(c.tlvIndentationStyle[f]=n[g],f++))}if(!p)for(;c.tlvIndentationStyle.length>f;)c.tlvIndentationStyle.pop()}c.tlvNextIndent=d}if(c.tlvCodeActive){var v,b=!1;if(void 0!==u)u+=" "+l(c,0,"scope-ident");else if(e.pos/r0}(e)&&(u+=" "+l(c,e.pos,"before-scope-ident"));else if(c.tlvInBlockComment)e.match(/^.*?\*\//)?c.tlvInBlockComment=!1:e.skipToEnd(),u="comment";else if((v=e.match(s))&&!c.tlvInBlockComment)"//"==v[0]?e.skipToEnd():c.tlvInBlockComment=!0,u="comment";else if(v=e.match(i)){var y=v[1],k=v[2];t.hasOwnProperty(y)&&(k.length>0||e.eol())?(u=t[y],e.column()==c.indented&&(u+=" "+l(c,e.column(),"scope-ident"))):(e.backUp(e.current().length-1),u="tlv-default")}else e.match(/^\t+/)?u="tlv-tab":e.match(/^[\[\]{}\(\);\:]+/)?u="meta":(v=e.match(/^[mM]4([\+_])?[\w\d_]*/))?u="+"==v[1]?"tlv-m4-plus":"tlv-m4":e.match(/^ +/)?u=e.eol()?"error":"tlv-default":e.match(/^[\w\d_]+/)?u="number":(e.next(),u="tlv-default");b&&(u+=" tlv-statement")}else e.match(/^[mM]4([\w\d_]*)/)&&(u="tlv-m4");return u},indent:function(e){return 1==e.tlvCodeActive?e.tlvNextIndent:-1},startState:function(e){e.tlvIndentationStyle=[],e.tlvCodeActive=!0,e.tlvNextIndent=-1,e.tlvInBlockComment=!1}}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=e.split(","),r=0;r?]/,p=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,m=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,h=/^_?[A-Za-z][0-9A-Z_a-z-]*/,g=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,v=/^"[^"]*"/,b=/^\/\*.*?\*\//,y=/^\/\*.*/,k=/^.*?\*\//;e.defineMode("webidl",function(){return{startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,t){var n=function(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(k)?(t.inComment=!1,"comment"):(e.skipToEnd(),"comment");if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(b))return"comment";if(e.match(y))return t.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(p)||e.match(m)))return"number";if(e.match(v))return"string";if(t.startDef&&e.match(h))return"def";if(t.endDef&&e.match(g))return t.endDef=!1,"def";if(e.match(s))return"keyword";if(e.match(o)){var n=t.lastToken,i=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===n||"implements"===n||"implements"===i||"="===i?"builtin":"variable-3"}return e.match(r)?"builtin":e.match(c)?"atom":e.match(h)?"variable":e.match(f)?"operator":(e.next(),null)}(e,t);if(n){var i=e.current();t.lastToken=i,"keyword"===n?(t.startDef=u.test(i),t.endDef=t.endDef||d.test(i)):t.startDef=!1}return n}}}),e.defineMIME("text/x-webidl","webidl")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("xquery",function(){var e=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},r={type:"axis_specifier",style:"qualifier"},i={",":{type:"punctuation",style:null}},o=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],a=0,s=o.length;a",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"],a=0,s=c.length;a\"\'\/?]/);)x+=k;return t(d,h,function(e,t){return function(r,i){return r.eatSpace(),t&&r.eat(">")?(m(i),i.tokenize=n,"tag"):(r.eat("/")||p(i,{type:"tag",name:e,tokenize:n}),r.eat(">")?(i.tokenize=n,"tag"):(i.tokenize=a,"tag"))}}(x,y))}if("{"==g)return p(h,{type:"codeblock"}),null;if("}"==g)return m(h),null;if(u(h))return">"==g?"tag":"/"==g&&d.eat(">")?(m(h),"tag"):"variable";if(/\d/.test(g))return d.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===g&&d.eat(":"))return p(h,{type:"comment"}),t(d,h,r);if(b||'"'!==g&&"'"!==g){if("$"===g)return t(d,h,o);if(":"===g&&d.eat("="))return"keyword";if("("===g)return p(h,{type:"paren"}),null;if(")"===g)return m(h),null;if("["===g)return p(h,{type:"bracket"}),null;if("]"===g)return m(h),null;var w=e.propertyIsEnumerable(g)&&e[g];if(b&&'"'===g)for(;'"'!==d.next(););if(b&&"'"===g)for(;"'"!==d.next(););w||d.eatWhile(/[\w\$_-]/);var _=d.eat(":");!d.eat(":")&&_&&d.eatWhile(/[\w\$_-]/),d.match(/^[ \t]*\(/,!1)&&(v=!0);var S=d.current();return w=e.propertyIsEnumerable(S)&&e[S],v&&!w&&(w={type:"function_call",style:"variable def"}),function(e){return f(e,"xmlconstructor")}(h)?(m(h),"variable"):("element"!=S&&"attribute"!=S&&"axis_specifier"!=w.type||p(h,{type:"xmlconstructor"}),w?w.style:"variable")}return t(d,h,i(g))}function r(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if(")"==n&&r){if(!(o>0)){m(t);break}o--}else":"==n&&i&&o++;r=":"==n,i="("==n}return"comment"}function i(e,t){return function(r,o){var a;if(function(e){return f(e,"string")}(o)&&r.current()==e)return m(o),t&&(o.tokenize=t),"string";if(p(o,{type:"string",name:e,tokenize:i(e,t)}),r.match("{",!1)&&d(o))return o.tokenize=n,"string";for(;a=r.next();){if(a==e){m(o),t&&(o.tokenize=t);break}if(r.match("{",!1)&&d(o))return o.tokenize=n,"string"}return"string"}}function o(e,t){var r=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(r),e.match(":=",!1)||e.eat(":");return e.eatWhile(r),t.tokenize=n,"variable"}function a(e,r){var o=e.next();return"/"==o&&e.eat(">")?(d(r)&&m(r),u(r)&&m(r),"tag"):">"==o?(d(r)&&m(r),"tag"):"="==o?null:'"'==o||"'"==o?t(e,r,i(o,a)):(d(r)||p(r,{type:"attribute",tokenize:a}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(m(r),r.tokenize=n),"attribute")}function s(e,t){for(var r;r=e.next();)if("-"==r&&e.match("->",!0))return t.tokenize=n,"comment"}function l(e,t){for(var r;r=e.next();)if("]"==r&&e.match("]",!0))return t.tokenize=n,"comment"}function c(e,t){for(var r;r=e.next();)if("?"==r&&e.match(">",!0))return t.tokenize=n,"comment meta"}function u(e){return f(e,"tag")}function d(e){return f(e,"attribute")}function f(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function p(e,t){e.stack.push(t)}function m(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||n}return{startState:function(){return{tokenize:n,cc:[],stack:[]}},token:function(e,t){if(e.eatSpace())return null;var n=t.tokenize(e,t);return n},blockCommentStart:"(:",blockCommentEnd:":)"}}),e.defineMIME("application/xquery","xquery")}(n(0))},function(e,t,n){!function(e){"use strict";e.defineMode("yacas",function(t,n){var r=function(e){for(var t={},n=e.split(" "),r=0;r|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function u(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=c),"string"}function d(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=c;break}n=r}return"comment"}function f(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}return{startState:function(){return{tokenize:c,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(n,r){if(n.tokenize!==c&&null!==n.tokenize)return e.Pass;var i=0;return"]"!==r&&"];"!==r&&"}"!==r&&"};"!==r&&");"!==r||(i=-1),(n.scopes.length+i)*t.indentUnit},electricChars:"{}[]();",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),e.defineMIME("text/x-yacas",{name:"yacas"})}(n(0))},function(e,t,n){var r,i;r=n(0),n(44),i=2,r.defineMode("yaml-frontmatter",function(e,t){var n=r.getMode(e,"yaml"),o=r.getMode(e,t&&t.base||"gfm");function a(e){return e.state==i?o:n}return{startState:function(){return{state:0,inner:r.startState(n)}},copyState:function(e){return{state:e.state,inner:r.copyState(a(e),e.inner)}},token:function(e,t){if(0==t.state)return e.match(/---/,!1)?(t.state=1,n.token(e,t.inner)):(t.state=i,t.inner=r.startState(o),o.token(e,t.inner));if(1==t.state){var a=e.sol()&&e.match(/---/,!1),s=n.token(e,t.inner);return a&&(t.state=i,t.inner=r.startState(o)),s}return o.token(e,t.inner)},innerMode:function(e){return{mode:a(e),state:e.inner}},blankLine:function(e){var t=a(e);if(t.blankLine)return t.blankLine(e.inner)}}})},function(e,t,n){!function(e){"use strict";e.defineMode("z80",function(e,t){var n,r,i=t.ez80;i?(n=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,r=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(n=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,r=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var o=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,a=/^(n?[zc]|p[oe]?|m)\b/i,s=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,l=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{startState:function(){return{context:0}},token:function(e,t){if(e.column()||(t.context=0),e.eatSpace())return null;var c;if(e.eatWhile(/\w/)){if(i&&e.eat(".")&&e.eatWhile(/\w/),c=e.current(),!e.indentation())return e.match(l)?"number":null;if((1==t.context||4==t.context)&&o.test(c))return t.context=4,"var2";if(2==t.context&&a.test(c))return t.context=4,"var3";if(n.test(c))return t.context=1,"keyword";if(r.test(c))return t.context=2,"keyword";if(4==t.context&&l.test(c))return"number";if(s.test(c))return"error"}else{if(e.eat(";"))return e.skipToEnd(),"comment";if(e.eat('"')){for(;(c=e.next())&&'"'!=c;)"\\"==c&&e.next();return"string"}if(e.eat("'")){if(e.match(/\\?.'/))return"number"}else if(e.eat(".")||e.sol()&&e.eat("#")){if(t.context=5,e.eatWhile(/\w/))return"def"}else if(e.eat("$")){if(e.eatWhile(/[\da-f]/i))return"number"}else if(e.eat("%")){if(e.eatWhile(/[01]/))return"number"}else e.next()}return null}}}),e.defineMIME("text/x-z80","z80"),e.defineMIME("text/x-ez80",{name:"z80",ez80:!0})}(n(0))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){n(191),n(192),n(194),n(196),n(198),n(199),n(201),["css","xml","javascript","htmlmixed"].forEach(function(e){n(202)(`./${e}/${e}`)}),n(209),n(210)},function(e,t,n){(function(t){e.exports=t.CodeMirror=n(0)}).call(this,n(3))},function(e,t,n){(function(t){e.exports=t.debounce=n(193)}).call(this,n(3))},function(e,t){function n(e,t,n){var r,i,o,a,s;function l(){var c=Date.now()-a;c=0?r=setTimeout(l,t-c):(r=null,n||(s=e.apply(o,i),o=i=null))}null==t&&(t=100);var c=function(){o=this,i=arguments,a=Date.now();var c=n&&!r;return r||(r=setTimeout(l,t)),c&&(s=e.apply(o,i),o=i=null),s};return c.clear=function(){r&&(clearTimeout(r),r=null)},c.flush=function(){r&&(s=e.apply(o,i),o=i=null,clearTimeout(r),r=null)},c}n.debounce=n,e.exports=n},function(e,t,n){(function(t){e.exports=t.LightningFS=n(195)}).call(this,n(3))},function(e,t,n){self,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t){function n(...e){if(0===e.length)return"";let t=e.join("/");return t=t.replace(/\/{2,}/g,"/")}function r(e){if(0===e.length)return[];if("/"===e)return["/"];let t=e.split("/");return""===t[t.length-1]&&t.pop(),"/"===e[0]?t[0]="/":"."!==t[0]&&t.unshift("."),t}function i(e,t){if(0===e.length)return e.push(t),e;if("."===t)return e;if(".."===t){if(1===e.length){if("/"===e[0])throw new Error("Unable to normalize path - traverses above root directory");if("."===e[0])return e.push(t),e}return".."===e[e.length-1]?(e.push(".."),e):(e.pop(),e)}return e.push(t),e}e.exports={join:n,normalize:function(e){if(0===e.length)return".";let t=r(e);return t=t.reduce(i,[]),n(...t)},split:r,basename:function(e){if("/"===e)throw new Error(`Cannot get basename of "${e}"`);const t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)},dirname:function(e){const t=e.lastIndexOf("/");if(-1===t)throw new Error(`Cannot get dirname of "${e}"`);return 0===t?"/":e.slice(0,t)}}},function(e,t){function n(e){return class extends Error{constructor(...t){super(...t),this.code=e,this.message?this.message=e+": "+this.message:this.message=e}}}const r=n("EEXIST"),i=n("ENOENT"),o=n("ENOTEMPTY");e.exports={EEXIST:r,ENOENT:i,ENOTEMPTY:o}},function(e,t,n){const r=n(3),i=n(4);function o(e,t){return"function"==typeof e&&(t=e),[(...e)=>t(null,...e),t=r(t)]}e.exports=class{constructor(...e){this.promises=new i(...e),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this)}readFile(e,t,n){const[r,i]=o(t,n);this.promises.readFile(e,t).then(r).catch(i)}writeFile(e,t,n,r){const[i,a]=o(n,r);this.promises.writeFile(e,t,n).then(i).catch(a)}unlink(e,t,n){const[r,i]=o(t,n);this.promises.unlink(e,t).then(r).catch(i)}readdir(e,t,n){const[r,i]=o(t,n);this.promises.readdir(e,t).then(r).catch(i)}mkdir(e,t,n){const[r,i]=o(t,n);this.promises.mkdir(e,t).then(r).catch(i)}rmdir(e,t,n){const[r,i]=o(t,n);this.promises.rmdir(e,t).then(r).catch(i)}rename(e,t,n){const[r,i]=o(n);this.promises.rename(e,t).then(r).catch(i)}stat(e,t,n){const[r,i]=o(t,n);this.promises.stat(e).then(r).catch(i)}lstat(e,t,n){const[r,i]=o(t,n);this.promises.lstat(e).then(r).catch(i)}readlink(e,t,n){const[r,i]=o(t,n);this.promises.readlink(e).then(r).catch(i)}symlink(e,t,n){const[r,i]=o(n);this.promises.symlink(e,t).then(r).catch(i)}}},function(e,t){e.exports=function(e){var t,n;if("function"!=typeof e)throw new Error("expected a function but got "+e);return function(){return t?n:(t=!0,n=e.apply(this,arguments))}}},function(e,t,n){const{encode:r,decode:i}=n(5),o=n(8),a=n(9),s=n(10),{ENOENT:l,ENOTEMPTY:c}=n(1),u=n(11),d=n(13),f=n(0);function p(e,t){return void 0!==t&&"function"!=typeof t||(t={}),"string"==typeof t&&(t={encoding:t}),[e=f.normalize(e),t]}function m(e,t){return[f.normalize(e),f.normalize(t)]}n(14),e.exports=class{constructor(e,{wipe:t,url:n}={}){this._idb=new u(e),this._cache=new s(e),this._opts={wipe:t,url:n},this.saveSuperblock=o(()=>{this._saveSuperblock()},500),n&&(this._http=new d(n)),this._initPromise=this._init(),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this)}async _init(){if(this._initPromise)return this._initPromise;this._opts.wipe?await this._wipe():await this._loadSuperblock()}_wipe(){return this._idb.wipe().then(()=>{if(this._http)return this._http.loadSuperblock().then(e=>{e&&this._cache.loadSuperBlock(e)})}).then(()=>this._saveSuperblock())}_saveSuperblock(){return this._idb.saveSuperblock(this._cache._root)}_loadSuperblock(){return this._idb.loadSuperblock().then(e=>{if(e)this._cache.loadSuperBlock(e);else if(this._http)return this._http.loadSuperblock().then(e=>{e&&this._cache.loadSuperBlock(e)})})}async readFile(e,t){await this._init(),[e,t]=p(e,t);const{encoding:n}=t;if(n&&"utf8"!==n)throw new Error('Only "utf8" encoding is supported in readFile');const r=this._cache.stat(e);let o=await this._idb.readFile(r.ino);return!o&&this._http&&(o=await this._http.readFile(e)),o&&"utf8"===n&&(o=i(o)),o}async writeFile(e,t,n){await this._init(),[e,n]=p(e,n);const{mode:i,encoding:o="utf8"}=n;if("string"==typeof t){if("utf8"!==o)throw new Error('Only "utf8" encoding is supported in writeFile');t=r(t)}const a=this._cache.writeFile(e,t,{mode:i});return await this._idb.writeFile(a.ino,t),this.saveSuperblock(),null}async unlink(e,t){await this._init(),[e,t]=p(e,t);const n=this._cache.stat(e);return this._cache.unlink(e),await this._idb.unlink(n.ino),this.saveSuperblock(),null}async readdir(e,t){return await this._init(),[e,t]=p(e,t),this._cache.readdir(e)}async mkdir(e,t){await this._init(),[e,t]=p(e,t);const{mode:n=511}=t;return await this._cache.mkdir(e,{mode:n}),this.saveSuperblock(),null}async rmdir(e,t){if(await this._init(),[e,t]=p(e,t),"/"===e)throw new c;return this._cache.rmdir(e),this.saveSuperblock(),null}async rename(e,t){return await this._init(),[e,t]=m(e,t),this._cache.rename(e,t),this.saveSuperblock(),null}async stat(e,t){await this._init(),[e,t]=p(e,t);const n=this._cache.stat(e);return new a(n)}async lstat(e,t){await this._init(),[e,t]=p(e,t);let n=this._cache.lstat(e);return new a(n)}async readlink(e,t){return await this._init(),[e,t]=p(e,t),this._cache.readlink(e)}async symlink(e,t){return await this._init(),[e,t]=m(e,t),this._cache.symlink(e,t),this.saveSuperblock(),null}}},function(e,t,n){n(6),e.exports={encode:e=>(new TextEncoder).encode(e),decode:e=>(new TextDecoder).decode(e)}},function(e,t,n){(function(e){!function(e){function t(e){if("utf-8"!==(e=void 0===e?"utf-8":e))throw new RangeError("Failed to construct 'TextEncoder': The encoding label provided ('"+e+"') is invalid.")}function n(e,t){if(t=void 0===t?{fatal:!1}:t,"utf-8"!==(e=void 0===e?"utf-8":e))throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+e+"') is invalid.");if(t.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}if(e.TextEncoder&&e.TextDecoder)return!1;Object.defineProperty(t.prototype,"encoding",{value:"utf-8"}),t.prototype.encode=function(e,t){if((t=void 0===t?{stream:!1}:t).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");t=0;for(var n=e.length,r=0,i=Math.max(32,n+(n>>1)+7),o=new Uint8Array(i>>3<<3);t=a){if(t=a)continue}if(r+4>o.length&&(i+=8,i=(i*=1+t/e.length*2)>>3<<3,(s=new Uint8Array(i)).set(o),o=s),0==(4294967168&a))o[r++]=a;else{if(0==(4294965248&a))o[r++]=a>>6&31|192;else if(0==(4294901760&a))o[r++]=a>>12&15|224,o[r++]=a>>6&63|128;else{if(0!=(4292870144&a))continue;o[r++]=a>>18&7|240,o[r++]=a>>12&63|128,o[r++]=a>>6&63|128}o[r++]=63&a|128}}return o.slice(0,r)},Object.defineProperty(n.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(n.prototype,"fatal",{value:!1}),Object.defineProperty(n.prototype,"ignoreBOM",{value:!1}),n.prototype.decode=function(e,t){if((t=void 0===t?{stream:!1}:t).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");t=0;for(var n=(e=new Uint8Array(e)).length,r=[];t>>10&1023|55296),i=56320|1023&i),r.push(i))}return String.fromCharCode.apply(null,r)},e.TextEncoder=t,e.TextDecoder=n}("undefined"!=typeof window?window:void 0!==e?e:this)}).call(this,n(7))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=function(e,t,n){var r;return function(){if(!t)return e.apply(this,arguments);var i=this,o=arguments,a=n&&!r;return clearTimeout(r),r=setTimeout(function(){if(r=null,!a)return e.apply(i,o)},t),a?e.apply(this,arguments):void 0}}},function(e,t){e.exports=class{constructor(e){this.type=e.type,this.mode=e.mode,this.size=e.size,this.ino=e.ino,this.mtimeMs=e.mtimeMs,this.ctimeMs=e.ctimeMs||e.mtimeMs,this.uid=1,this.gid=1,this.dev=1}isFile(){return"file"===this.type}isDirectory(){return"dir"===this.type}isSymbolicLink(){return"symlink"===this.type}}},function(e,t,n){const r=n(0),{ENOENT:i,EEXIST:o,ENOTEMPTY:a}=n(1),s=0;e.exports=class{constructor(){this._root=new Map([["/",this._makeRoot()]])}_makeRoot(e=new Map){return e.set(s,{mode:511,type:"dir",size:0,ino:0,mtimeMs:Date.now()}),e}loadSuperBlock(e){this._root="string"==typeof e?new Map([["/",this._makeRoot(this.parse(e))]]):e}size(){return this._countInodes(this._root.get("/"))-1}_countInodes(e){let t=1;for(let[n,r]of e)n!==s&&(t+=this._countInodes(r));return t}autoinc(){return this._maxInode(this._root.get("/"))+1}_maxInode(e){let t=e.get(s).ino;for(let[n,r]of e)n!==s&&(t=Math.max(t,this._maxInode(r)));return t}print(e=this._root.get("/")){let t="";const n=(e,r)=>{for(let[i,o]of e){if(0===i)continue;let e=o.get(s),a=e.mode.toString(8);t+=`${"\t".repeat(r)}${i}\t${a}`,"file"===e.type?t+=`\t${e.size}\t${e.mtimeMs}\n`:(t+="\n",n(o,r+1))}};return n(e,0),t}parse(e){let t=0;function n(e){const n=++t,r=1===e.length?"dir":"file";let[i,o,a]=e;return i=parseInt(i,8),o=o?parseInt(o):0,a=a?parseInt(a):Date.now(),new Map([[s,{mode:i,type:r,size:o,mtimeMs:a,ino:n}]])}let r=e.trim().split("\n"),i=this._makeRoot(),o=[{indent:-1,node:i},{indent:0,node:null}];for(let e of r){let t=e.match(/^\t*/)[0].length;e=e.slice(t);let[r,...i]=e.split("\t"),a=n(i);if(t<=o[o.length-1].indent)for(;t<=o[o.length-1].indent;)o.pop();o.push({indent:t,node:a}),o[o.length-2].node.set(r,a)}return i}_lookup(e,t=!0){let n=this._root,o="/";for(let a of r.split(e)){if(!(n=n.get(a)))throw new i(e);if(t){const e=n.get(s);if("symlink"===e.type){let t=e.target;t.startsWith("/")||(t=r.normalize(r.join(o,t))),n=this._lookup(t)}o=o?r.join(o,a):a}}return n}mkdir(e,{mode:t}){if("/"===e)throw new o;let n=this._lookup(r.dirname(e)),i=r.basename(e);if(n.has(i))throw new o;let a=new Map,l={mode:t,type:"dir",size:0,mtimeMs:Date.now(),ino:this.autoinc()};a.set(s,l),n.set(i,a)}rmdir(e){if(this._lookup(e).size>1)throw new a;let t=this._lookup(r.dirname(e)),n=r.basename(e);t.delete(n)}readdir(e){return[...this._lookup(e).keys()].filter(e=>"string"==typeof e)}writeFile(e,t,{mode:n}){let i;try{let t=this.stat(e);null===n&&(n=t.mode),i=t.ino}catch(e){}null==n&&(n=438),null==i&&(i=this.autoinc());let o=this._lookup(r.dirname(e)),a=r.basename(e),l={mode:n,type:"file",size:t.length,mtimeMs:Date.now(),ino:i},c=new Map;return c.set(s,l),o.set(a,c),l}unlink(e){let t=this._lookup(r.dirname(e)),n=r.basename(e);t.delete(n)}rename(e,t){let n=this._lookup(e);this.unlink(e);let i=this._lookup(r.dirname(t)),o=r.basename(t);i.set(o,n)}stat(e){return this._lookup(e).get(s)}lstat(e){return this._lookup(e,!1).get(s)}readlink(e){return this._lookup(e,!1).get(s).target}symlink(e,t){let n,i;try{let r=this.stat(t);null===i&&(i=r.mode),n=r.ino}catch(e){}null==i&&(i=438),null==n&&(n=this.autoinc());let o=this._lookup(r.dirname(t)),a=r.basename(t),l={mode:i,type:"symlink",target:e,size:0,mtimeMs:Date.now(),ino:n},c=new Map;return c.set(s,l),o.set(a,c),l}}},function(e,t,n){const r=n(12);e.exports=class{constructor(e){this._database=e,this._store=new r.Store(this._database,this._database+"_files")}saveSuperblock(e){return r.set("!root",e,this._store)}loadSuperblock(){return r.get("!root",this._store)}readFile(e){return r.get(e,this._store)}writeFile(e,t){return r.set(e,t,this._store)}unlink(e){return r.del(e,this._store)}wipe(){return r.clear(this._store)}}},function(e,t,n){"use strict";n.r(t),n.d(t,"Store",function(){return r}),n.d(t,"get",function(){return a}),n.d(t,"set",function(){return s}),n.d(t,"del",function(){return l}),n.d(t,"clear",function(){return c}),n.d(t,"keys",function(){return u});class r{constructor(e="keyval-store",t="keyval"){this.storeName=t,this._dbp=new Promise((n,r)=>{const i=indexedDB.open(e,1);i.onerror=(()=>r(i.error)),i.onsuccess=(()=>n(i.result)),i.onupgradeneeded=(()=>{i.result.createObjectStore(t)})})}_withIDBStore(e,t){return this._dbp.then(n=>new Promise((r,i)=>{const o=n.transaction(this.storeName,e);o.oncomplete=(()=>r()),o.onabort=o.onerror=(()=>i(o.error)),t(o.objectStore(this.storeName))}))}}let i;function o(){return i||(i=new r),i}function a(e,t=o()){let n;return t._withIDBStore("readonly",t=>{n=t.get(e)}).then(()=>n.result)}function s(e,t,n=o()){return n._withIDBStore("readwrite",n=>{n.put(t,e)})}function l(e,t=o()){return t._withIDBStore("readwrite",t=>{t.delete(e)})}function c(e=o()){return e._withIDBStore("readwrite",e=>{e.clear()})}function u(e=o()){const t=[];return e._withIDBStore("readonly",e=>{(e.openKeyCursor||e.openCursor).call(e).onsuccess=function(){this.result&&(t.push(this.result.key),this.result.continue())}}).then(()=>t)}},function(e,t){e.exports=class{constructor(e){this._url=e}loadSuperblock(){return fetch(this._url+"/.superblock.txt").then(e=>e.text())}readFile(e){return fetch(this._url+e).then(e=>e.arrayBuffer())}}},function(e,t){e.exports=function(e){return performance.mark(`${e} start`),function(){performance.mark(`${e} end`),performance.measure(`${e}`,`${e} start`,`${e} end`)}}}])},function(e,t,n){var r=n(197);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(8)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(7)(!1)).push([e.i,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: -20px;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 30px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -30px; margin-right: -30px;\n padding-bottom: 30px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 30px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -30px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n",""])},function(e,t,n){!function(e){"use strict";function t(t,n,r){this.orientation=n,this.scroll=r,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=t+"-"+n,this.inner=this.node.appendChild(document.createElement("div"));var i=this;function o(t){var n=e.wheelEventPixels(t)["horizontal"==i.orientation?"x":"y"],r=i.pos;i.moveTo(i.pos+n),i.pos!=r&&e.e_preventDefault(t)}e.on(this.inner,"mousedown",function(t){if(1==t.which){e.e_preventDefault(t);var n="horizontal"==i.orientation?"pageX":"pageY",r=t[n],o=i.pos;e.on(document,"mousemove",s),e.on(document,"mouseup",a)}function a(){e.off(document,"mousemove",s),e.off(document,"mouseup",a)}function s(e){if(1!=e.which)return a();i.moveTo(o+(e[n]-r)*(i.total/i.size))}}),e.on(this.node,"click",function(t){e.e_preventDefault(t);var n,r=i.inner.getBoundingClientRect();n="horizontal"==i.orientation?t.clientXr.right?1:0:t.clientYr.bottom?1:0,i.moveTo(i.pos+n*i.screen)}),e.on(this.node,"mousewheel",o),e.on(this.node,"DOMMouseScroll",o)}function n(e,n,r){this.addClass=e,this.horiz=new t(e,"horizontal",r),n(this.horiz.node),this.vert=new t(e,"vertical",r),n(this.vert.node),this.width=null}t.prototype.setPos=function(e,t){return e<0&&(e=0),e>this.total-this.screen&&(e=this.total-this.screen),!(!t&&e==this.pos||(this.pos=e,this.inner.style["horizontal"==this.orientation?"left":"top"]=e*(this.size/this.total)+"px",0))},t.prototype.moveTo=function(e){this.setPos(e)&&this.scroll(e,this.orientation)},t.prototype.update=function(e,t,n){var r=this.screen!=t||this.total!=e||this.size!=n;r&&(this.screen=t,this.total=e,this.size=n);var i=this.screen*(this.size/this.total);i<10&&(this.size-=10-i,i=10),this.inner.style["horizontal"==this.orientation?"width":"height"]=i+"px",this.setPos(this.pos,r)},n.prototype.update=function(e){if(null==this.width){var t=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;t&&(this.width=parseInt(t.height))}var n=this.width||0,r=e.scrollWidth>e.clientWidth+1,i=e.scrollHeight>e.clientHeight+1;return this.vert.node.style.display=i?"block":"none",this.horiz.node.style.display=r?"block":"none",i&&(this.vert.update(e.scrollHeight,e.clientHeight,e.viewHeight-(r?n:0)),this.vert.node.style.bottom=r?n+"px":"0"),r&&(this.horiz.update(e.scrollWidth,e.clientWidth,e.viewWidth-(i?n:0)-e.barLeft),this.horiz.node.style.right=i?n+"px":"0",this.horiz.node.style.left=e.barLeft+"px"),{right:i?n:0,bottom:r?n:0}},n.prototype.setScrollTop=function(e){this.vert.setPos(e)},n.prototype.setScrollLeft=function(e){this.horiz.setPos(e)},n.prototype.clear=function(){var e=this.horiz.node.parentNode;e.removeChild(this.horiz.node),e.removeChild(this.vert.node)},e.scrollbarModel.simple=function(e,t){return new n("CodeMirror-simplescroll",e,t)},e.scrollbarModel.overlay=function(e,t){return new n("CodeMirror-overlayscroll",e,t)}}(n(0))},function(e,t,n){var r=n(200);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(8)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(7)(!1)).push([e.i,".CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {\n position: absolute;\n background: #ccc;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n}\n\n.CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {\n position: absolute;\n z-index: 6;\n background: #eee;\n}\n\n.CodeMirror-simplescroll-horizontal {\n bottom: 0; left: 0;\n height: 8px;\n}\n.CodeMirror-simplescroll-horizontal div {\n bottom: 0;\n height: 100%;\n}\n\n.CodeMirror-simplescroll-vertical {\n right: 0; top: 0;\n width: 8px;\n}\n.CodeMirror-simplescroll-vertical div {\n right: 0;\n width: 100%;\n}\n\n\n.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {\n display: none;\n}\n\n.CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {\n position: absolute;\n background: #bcd;\n border-radius: 3px;\n}\n\n.CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {\n position: absolute;\n z-index: 6;\n}\n\n.CodeMirror-overlayscroll-horizontal {\n bottom: 0; left: 0;\n height: 6px;\n}\n.CodeMirror-overlayscroll-horizontal div {\n bottom: 0;\n height: 100%;\n}\n\n.CodeMirror-overlayscroll-vertical {\n right: 0; top: 0;\n width: 6px;\n}\n.CodeMirror-overlayscroll-vertical div {\n right: 0;\n width: 100%;\n}\n",""])},function(e,t,n){!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function i(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var s=e.getLineHandle(t.line),l=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var u=i(o),d=!c&&l>=0&&u.test(s.text.charAt(l))&&r[s.text.charAt(l)]||u.test(s.text.charAt(l+1))&&r[s.text.charAt(++l)];if(!d)return null;var f=">"==d.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(l==t.ch))return null;var p=e.getTokenTypeAt(n(t.line,l+1)),m=a(e,n(t.line,l+(f>0?1:0)),f,p||null,o);return null==m?null:{from:n(t.line,l),to:m&&m.pos,match:m&&m.ch==d.charAt(0),forward:f>0}}function a(e,t,o,a,s){for(var l=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,u=[],d=i(s),f=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),p=t.line;p!=f;p+=o){var m=e.getLine(p);if(m){var h=o>0?0:m.length-1,g=o>0?m.length:-1;if(!(m.length>l))for(p==t.line&&(h=t.ch-(o<0?1:0));h!=g;h+=o){var v=m.charAt(h);if(d.test(v)&&(void 0===a||e.getTokenTypeAt(n(p,h+1))==a)){var b=r[v];if(b&&">"==b.charAt(1)==o>0)u.push(v);else{if(!u.length)return{pos:n(p,h),ch:v};u.pop()}}}}}return p-o!=(o>0?e.lastLine():e.firstLine())&&null}function s(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],l=e.listSelections(),c=0;c-1&&t.substring(i+1,t.length);if(o)return e.findModeByExtension(o)},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n \n| \n| CodeMirror: RPM changes mode")},function(e,t,n){var r=n(206);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(8)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(7)(!1)).push([e.i,"span.cm-underlined {\n text-decoration: underline;\n}\nspan.cm-strikethrough {\n text-decoration: line-through;\n}\nspan.cm-brace {\n color: #170;\n font-weight: bold;\n}\nspan.cm-table {\n color: blue;\n font-weight: bold;\n}\n",""])},function(e,t,n){var r=n(208);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(8)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(7)(!1)).push([e.i,".cm-tw-syntaxerror {\n\tcolor: #FFF;\n\tbackground-color: #900;\n}\n\n.cm-tw-deleted {\n\ttext-decoration: line-through;\n}\n\n.cm-tw-header5 {\n\tfont-weight: bold;\n}\n.cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/\n\tpadding-left: 10px;\n}\n\n.cm-tw-box {\n\tborder-top-width: 0px !important;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-color: inherit;\n}\n\n.cm-tw-underline {\n\ttext-decoration: underline;\n}",""])},function(e,t){!function(e){"use strict";e.defineMode("lips",function(){function e(e){for(var t={},n=e.split(" "),r=0;rinteger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero? new let-env"),n=e("define let letrec let-env let* lambda define-macro define-class defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values define-library when unless");function r(e,t,n){this.indent=e,this.type=t,this.prev=n}function i(e,t,n){e.indentStack=new r(t,n,e.indentStack)}var o=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),a=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),s=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),l=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i),c=/^#\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimuy]*)(?=[()\s;"]|$)/i;function u(e){return e.match(o)}function d(e){return e.match(a)}function f(e,t){return!0===t&&e.backUp(1),e.match(l)}function p(e){return e.match(s)}return{startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,r){if(null==r.indentStack&&e.sol()&&(r.indentation=e.indentation()),e.eatSpace())return null;var o=null;switch(r.mode){case"string":for(var a=!1;null!=(s=e.next());){if('"'==s&&!a){r.mode=!1;break}a=!a&&"\\"==s}o="string";break;case"comment":for(var s,l=!1;null!=(s=e.next());){if("#"==s&&l){r.mode=!1;break}l="|"==s}o="comment";break;case"s-expr-comment":if(r.mode=!1,"("!=e.peek()&&"["!=e.peek()){e.eatWhile(/[^\s\(\)\[\]]/),o="comment";break}r.sExprComment=0;default:if(e.match(c))return e.match(c,!0),"string-2";var m=e.next();if('"'==m)r.mode="string",o="string";else if("'"==m)"("==e.peek()||"["==e.peek()?("number"!=typeof r.sExprQuote&&(r.sExprQuote=0),o="atom"):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),o="atom");else if("#"==m)if(e.eat("|"))r.mode="comment",o="comment";else if(e.eat(/[tf]/i))o="atom";else if(e.eat(";"))r.mode="s-expr-comment",o="comment";else{var h=null,g=!1,v=!0;e.eat(/[ei]/i)?g=!0:e.backUp(1),e.match(/^#b/i)?h=u:e.match(/^#o/i)?h=d:e.match(/^#x/i)?h=p:e.match(/^#d/i)?h=f:e.match(/^[-+0-9.]/,!1)?(v=!1,h=f):g||e.eat("#"),null!=h&&(v&&!g&&e.match(/^#[ei]/i),h(e)&&(o="number"))}else if(/^[-+0-9.]/.test(m)&&f(e,!0))o="number";else if(";"==m)e.skipToEnd(),o="comment";else if("("==m||"["==m){for(var b,y="",k=e.column();null!=(b=e.eat(/[^\s\(\[\;\)\]]/));)y+=b;y.length>0&&n.propertyIsEnumerable(y)?i(r,k+2,m):y.match(/^:/)?i(r,k+1,m):(e.eatSpace(),e.eol()||";"==e.peek()?i(r,k+1,m):i(r,k+e.current().length,m)),e.backUp(e.current().length-1),"number"==typeof r.sExprComment&&r.sExprComment++,"number"==typeof r.sExprQuote&&r.sExprQuote++,o="bracket"}else")"==m||"]"==m?(o="bracket",null!=r.indentStack&&r.indentStack.type==(")"==m?"(":"[")&&(function(e){e.indentStack=e.indentStack.prev}(r),"number"==typeof r.sExprComment&&0==--r.sExprComment&&(o="comment",r.sExprComment=!1),"number"==typeof r.sExprQuote&&0==--r.sExprQuote&&(o="atom",r.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),o=t&&t.propertyIsEnumerable(e.current())?"builtin":"variable")}return"number"==typeof r.sExprComment?"comment":"number"==typeof r.sExprQuote?"atom":o},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent},closeBrackets:{pairs:'()[]{}""'},lineComment:";;"}});var t=/[^()\s[\]]+/,n=e.Pos;function r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}e.defineMIME("text/x-scheme","scheme"),e.registerHelper("hint","scheme",function(e,i,o,a){if("undefined"!=typeof lips){var s,l,c=e.getCursor(),u=e.getLine(c.line),{start:d,end:f}=function(e,n){for(var r=n,i=n;i span::selection, .cm-s-twilight .CodeMirror-line > span > span::selection { background: rgba(50, 50, 50, 0.99); }\n.cm-s-twilight .CodeMirror-line::-moz-selection, .cm-s-twilight .CodeMirror-line > span::-moz-selection, .cm-s-twilight .CodeMirror-line > span > span::-moz-selection { background: rgba(50, 50, 50, 0.99); }\n\n.cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; }\n.cm-s-twilight .CodeMirror-guttermarker { color: white; }\n.cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; }\n.cm-s-twilight .CodeMirror-linenumber { color: #aaa; }\n.cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white; }\n\n.cm-s-twilight .cm-keyword { color: #f9ee98; } /**/\n.cm-s-twilight .cm-atom { color: #FC0; }\n.cm-s-twilight .cm-number { color: #ca7841; } /**/\n.cm-s-twilight .cm-def { color: #8DA6CE; }\n.cm-s-twilight span.cm-variable-2, .cm-s-twilight span.cm-tag { color: #607392; } /**/\n.cm-s-twilight span.cm-variable-3, .cm-s-twilight span.cm-def, .cm-s-twilight span.cm-type { color: #607392; } /**/\n.cm-s-twilight .cm-operator { color: #cda869; } /**/\n.cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/\n.cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/\n.cm-s-twilight .cm-string-2 { color:#bd6b18; } /*?*/\n.cm-s-twilight .cm-meta { background-color:#141414; color:#f7f7f7; } /*?*/\n.cm-s-twilight .cm-builtin { color: #cda869; } /*?*/\n.cm-s-twilight .cm-tag { color: #997643; } /**/\n.cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/\n.cm-s-twilight .cm-header { color: #FF6400; }\n.cm-s-twilight .cm-hr { color: #AEAEAE; }\n.cm-s-twilight .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/\n.cm-s-twilight .cm-error { border-bottom: 1px solid red; }\n\n.cm-s-twilight .CodeMirror-activeline-background { background: #27282E; }\n.cm-s-twilight .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }\n",""])}]); \ No newline at end of file diff --git a/editor/bundle-b.js b/editor/bundle-b.js deleted file mode 100644 index eea635532..000000000 --- a/editor/bundle-b.js +++ /dev/null @@ -1,253 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=212)}([,function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return i});var r,i,o="undefined"!=typeof performance&&performance,a=o&&o.now?function(){return o.now()}:function(){return Date.now()};function s(e){if(!e)throw new Error("name must be non-empty")}if(o&&o.mark)r=function(e){s(e),o.mark("start "+e)},i=function(e){s(e),o.mark("end "+e),o.measure(e,"start "+e,"end "+e);var t=o.getEntriesByName(e);return t[t.length-1]},function(){return o.getEntriesByType("measure")},function(){o.clearMarks(),o.clearMeasures()};else{var u={},l=[];r=function(e){s(e);var t=a();u["$"+e]=t},i=function(e){s(e);var t=a(),n=u["$"+e];if(!n)throw new Error("no known mark: "+e);var r={startTime:n,name:e,duration:t-n,entryType:"measure"};return function(e,t){for(var n,r=0,i=e.length;r>>1].startTime1;)try{return c.stringifyByChunk(e,r,n)}catch(e){n=Math.floor(n/2)}return c.stringifyByChar(e)}function d(e,t){for(var n=0;n "+e:e}},e.exports=r},function(e,t,n){"use strict";const r=(e,t)=>(function(...n){return new(0,t.promiseModule)((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})});e.exports=((e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);const n=typeof e;if(null===e||"object"!==n&&"function"!==n)throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===e?"null":n}\``);const i=e=>{const n=t=>"string"==typeof t?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)};let o;o="function"===n?function(...n){return t.excludeMain?e(...n):r(e,t).apply(this,n)}:Object.create(Object.getPrototypeOf(e));for(const n in e){const a=e[n];o[n]="function"==typeof a&&i(n)?r(a,t):a}return o})},,function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(o).concat([i]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i=0&&c.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return v(t,e.attrs),p(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var a=l++;n=u||(u=g(t)),r=_.bind(null,n,a,!1),i=_.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=f(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),i=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return d(n,t),function(e){for(var r=[],i=0;i1)for(var n=1;n - * @license MIT - */ -var r=n(218),i=n(219),o=n(158);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return M(e).length;default:if(r)return L(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,r,i){var o,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,d=0;di&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function k(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return F(this,t,n);case"latin1":case"binary":return S(this,t,n);case"base64":return k(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(r,i),c=e.slice(t,n),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return D(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function F(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function O(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function j(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return o||B(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function P(e,t,n,r,o){return o||B(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||$(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||$(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||$(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||$(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||$(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||$(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||$(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||$(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||$(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||$(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||$(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||$(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||$(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||$(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||$(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||$(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||R(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):j(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);R(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);R(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):j(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return P(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return P(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function M(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(3))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";var r=n(29),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=f;var o=n(24);o.inherits=n(15);var a=n(168),s=n(49);o.inherits(f,a);for(var u=i(s.prototype),l=0;l=252?6:u>=248?5:u>=240?4:u>=224?3:u>=192?2:1;s[254]=s[254]=1;function l(){a.call(this,"utf-8 decode"),this.leftOver=null}function c(){a.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,n,r,o,a,s=e.length,u=0;for(o=0;o>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?r.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,i,o,a=e.length,u=new Array(2*a);for(n=0,t=0;t4)u[n++]=65533,t+=o-1;else{for(i&=2===o?31:3===o?15:7;o>1&&t1?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return u.length!==n&&(u.subarray?u=u.subarray(0,n):u.length=n),r.applyFromCharCode(u)}(e=r.transformTo(i.uint8array?"uint8array":"array",e))},r.inherits(l,a),l.prototype.processChunk=function(e){var n=r.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var o=n;(n=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),n.set(o,this.leftOver.length)}else n=this.leftOver.concat(n);this.leftOver=null}var a=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+s[e[n]]>t?n:t}(n),u=n;a!==n.length&&(i.uint8array?(u=n.subarray(0,a),this.leftOver=n.subarray(a,n.length)):(u=n.slice(0,a),this.leftOver=n.slice(a,n.length))),this.push({data:t.utf8decode(u),meta:e.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=l,r.inherits(c,a),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},,,function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(14).Buffer)},function(e,t,n){"use strict";var r=null;r="undefined"!=typeof Promise?Promise:n(270),e.exports={Promise:r}},,,function(e,t,n){var r; -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var o=[],a=Object.getPrototypeOf,s=o.slice,u=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},l=o.push,c=o.indexOf,f={},d=f.toString,h=f.hasOwnProperty,p=h.toString,m=p.call(Object),g={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},w=n.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function _(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in b)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function D(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[d.call(e)]||"object":typeof e}var x=function(e,t){return new x.fn.init(e,t)};function k(e){var t=!!e&&"length"in e&&e.length,n=D(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}x.fn=x.prototype={jquery:"3.6.0",constructor:x,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return x.each(this,e)},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(x.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(x.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+P+")"+P+"*"),W=new RegExp(P+"|>"),G=new RegExp(L),Y=new RegExp("^"+N+"$"),Z={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+L),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/HTML$/i,X=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,V=/^[^{]+\{\s*\[native \w/,Q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+P+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){d()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(T=j.call(_.childNodes),_.childNodes),T[_.childNodes.length].nodeType}catch(e){O={apply:T.length?function(e,t){R.apply(e,j.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,p,v,y=t&&t.ownerDocument,_=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return r;if(!i&&(d(t),t=t||h,m)){if(11!==_&&(f=Q.exec(e)))if(o=f[1]){if(9===_){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(y&&(l=y.getElementById(o))&&w(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return O.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!F[e+" "]&&(!g||!g.test(e))&&(1!==_||"object"!==t.nodeName.toLowerCase())){if(v=e,y=t,1===_&&(W.test(e)||q.test(e))){for((y=ee.test(e)&&ve(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(p=a(e)).length;s--;)p[s]=(c?"#"+c:":scope")+" "+we(p[s]);v=p.join(",")}try{return O.apply(r,y.querySelectorAll(v)),r}catch(t){F(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(U,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=h.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function he(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function me(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ve(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!K.test(t||n&&n.nodeName||"HTML")},d=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:_;return a!=h&&9===a.nodeType&&a.documentElement?(p=(h=a).documentElement,m=!o(h),_!=h&&(i=h.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce(function(e){return p.appendChild(e).appendChild(h.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(h.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=V.test(h.getElementsByClassName),n.getById=ce(function(e){return p.appendChild(e).id=b,!h.getElementsByName||!h.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},v=[],g=[],(n.qsa=V.test(h.querySelectorAll))&&(ce(function(e){var t;p.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+b+"-]").length||g.push("~="),(t=h.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||g.push("\\["+P+"*name"+P+"*="+P+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||g.push(".#.+[+~]"),e.querySelectorAll("\\\f"),g.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=h.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+P+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),p.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=V.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),v.push("!=",L)}),g=g.length&&new RegExp(g.join("|")),v=v.length&&new RegExp(v.join("|")),t=V.test(p.compareDocumentPosition),w=t||V.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==h||e.ownerDocument==_&&w(_,e)?-1:t==h||t.ownerDocument==_&&w(_,t)?1:c?B(c,e)-B(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==h?-1:t==h?1:i?-1:o?1:c?B(c,e)-B(c,t):0;if(i===o)return de(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?de(a[r],s[r]):a[r]==_?-1:s[r]==_?1:0},h):h},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(d(e),n.matchesSelector&&m&&!F[t+" "]&&(!v||!v.test(t))&&(!g||!g.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){F(t,!0)}return se(t,h,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=h&&d(e),w(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=h&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&A.call(r.attrHandle,t.toLowerCase())?i(e,t,!m):void 0;return void 0!==o?o:n.attributes||!m?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(S),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:Z,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Z.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&G.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=k[e+" "];return t||(t=new RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&k(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(M," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,h,p,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,w=!1;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&y){for(w=(h=(l=(c=(f=(d=g)[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===D&&l[1])&&l[2],d=h&&g.childNodes[h];d=++h&&d&&d[m]||(w=h=0)||p.pop();)if(1===d.nodeType&&++w&&d===t){c[e]=[D,h,w];break}}else if(y&&(w=h=(l=(c=(f=(d=t)[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===D&&l[1]),!1===w)for(;(d=++h&&d&&d[m]||(w=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++w||(y&&((c=(f=d[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[D,w]),d!==t)););return(w-=i)===r||w%r==0&&w/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=B(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace(U,"$1"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return Y.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===p},focus:function(e){return e===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:me(!1),disabled:me(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return X.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ge(function(){return[0]}),last:ge(function(e,t){return[t-1]}),eq:ge(function(e,t,n){return[n<0?n+t:n]}),even:ge(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:ge(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function De(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else v=De(v===a?v.splice(p,v.length):v),i?i(null,a,v,u):O.apply(a,v)})}function ke(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return B(t,e)>-1},s,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&_e(d),u>1&&we(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(U,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,p,g,v=0,y="0",w=o&&[],b=[],_=l,x=o||i&&r.find.TAG("*",c),k=D+=null==_?1:Math.random()||.1,E=x.length;for(c&&(l=a==h||a||c);y!==E&&null!=(f=x[y]);y++){if(i&&f){for(p=0,a||f.ownerDocument==h||(d(f),s=!m);g=e[p++];)if(g(f,a||h,s)){u.push(f);break}c&&(D=k)}n&&((f=!g&&f)&&v--,o&&w.push(f))}if(v+=y,n&&y!==v){for(p=0;g=t[p++];)g(w,b,a,s);if(o){if(v>0)for(;y--;)w[y]||b[y]||(b[y]=$.call(u));b=De(b)}O.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&se.uniqueSort(u)}return c&&(D=k,l=_),w};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,d="function"==typeof e&&e,h=!i&&a(e=d.selector||e);if(n=n||[],1===h.length){if((u=h[0]=h[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&m&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=Z.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ve(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&we(u)))return O.apply(n,i),n;break}}return(d||s(e,h))(i,t,!m,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!f,d(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(h.createElement("fieldset"))}),ce(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(n);x.find=E,x.expr=E.selectors,x.expr[":"]=x.expr.pseudos,x.uniqueSort=x.unique=E.uniqueSort,x.text=E.getText,x.isXMLDoc=E.isXML,x.contains=E.contains,x.escapeSelector=E.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},F=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=x.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var T=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function $(e,t,n){return v(t)?x.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?x.grep(e,function(e){return e===t!==n}):"string"!=typeof t?x.grep(e,function(e){return c.call(t,e)>-1!==n}):x.filter(t,e,n)}x.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},x.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;t1?x.uniqueSort(n):n},filter:function(e){return this.pushStack($(this,e||[],!1))},not:function(e){return this.pushStack($(this,e||[],!0))},is:function(e){return!!$(this,"string"==typeof e&&S.test(e)?x(e):e||[],!1).length}});var R,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(x.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||R,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:O.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),T.test(r[1])&&x.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(x):x.makeArray(e,this)}).prototype=x.fn,R=x(w);var j=/^(?:parents|prev(?:Until|All))/,B={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}x.fn.extend({has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&x.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?x.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?c.call(x(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(x.uniqueSort(x.merge(this.get(),x(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return F((e.parentNode||{}).firstChild,e)},children:function(e){return F(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),x.merge([],e.childNodes))}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(B[e]||x.uniqueSort(i),j.test(e)&&i.reverse()),this.pushStack(i)}});var P=/[^\x20\t\r\n\f]+/g;function N(e){return e}function z(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}x.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return x.each(e.match(P)||[],function(e,n){t[n]=!0}),t}(e):x.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?x.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},x.extend({Deferred:function(e){var t=[["notify","progress",x.Callbacks("memory"),x.Callbacks("memory"),2],["resolve","done",x.Callbacks("once memory"),x.Callbacks("once memory"),0,"resolved"],["reject","fail",x.Callbacks("once memory"),x.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,r){var i=v(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&v(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var o=0;function a(e,t,r,i){return function(){var s=this,u=arguments,l=function(){var n,l;if(!(e=o&&(r!==z&&(s=void 0,u=[n]),t.rejectWith(s,u))}};e?c():(x.Deferred.getStackHook&&(c.stackTrace=x.Deferred.getStackHook()),n.setTimeout(c))}}return x.Deferred(function(n){t[0][3].add(a(0,n,v(i)?i:N,n.notifyWith)),t[1][3].add(a(0,n,v(e)?e:N)),t[2][3].add(a(0,n,v(r)?r:z))}).promise()},promise:function(e){return null!=e?x.extend(e,i):i}},o={};return x.each(t,function(e,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=x.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(L(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||v(i[n]&&i[n].then)))return o.then();for(;n--;)L(i[n],a(n),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;x.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&M.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},x.readyException=function(e){n.setTimeout(function(){throw e})};var U=x.Deferred();function H(){w.removeEventListener("DOMContentLoaded",H),n.removeEventListener("load",H),x.ready()}x.fn.ready=function(e){return U.then(e).catch(function(e){x.readyException(e)}),this},x.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--x.readyWait:x.isReady)||(x.isReady=!0,!0!==e&&--x.readyWait>0||U.resolveWith(w,[x]))}}),x.ready.then=U.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?n.setTimeout(x.ready):(w.addEventListener("DOMContentLoaded",H),n.addEventListener("load",H));var q=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===D(n))for(s in i=!0,n)q(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){V.remove(this,e)})}}),x.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,x.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){x.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:x.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ve=/^$|^module$|\/(?:java|ecma)script/i;he=w.createDocumentFragment().appendChild(w.createElement("div")),(pe=w.createElement("input")).setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),he.appendChild(pe),g.checkClone=he.cloneNode(!0).cloneNode(!0).lastChild.checked,he.innerHTML="",g.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue,he.innerHTML="",g.option=!!he.lastChild;var ye={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function we(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?x.merge([e],n):n}function be(e,t){for(var n=0,r=e.length;n",""]);var _e=/<|&#?\w+;/;function De(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],h=0,p=e.length;h-1)i&&i.push(o);else if(l=ae(o),a=we(f.appendChild(o),"script"),l&&be(a),n)for(c=0;o=a[c++];)ve.test(o.type||"")&&n.push(o);return f}var xe=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Ee(){return!1}function Ce(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Fe(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Fe(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return x().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=x.guid++)),e.each(function(){x.event.add(this,t,i,r,n)})}function Se(e,t,n){n?(J.set(e,t,!1),x.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=J.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(x.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),J.set(this,t,o),r=n(this,t),this[t](),o!==(i=J.get(this,t))||r?J.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else o.length&&(J.set(this,t,{value:x.event.trigger(x.extend(o[0],x.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&x.event.add(e,t,ke)}x.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,h,p,m,g=J.get(e);if(K(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&x.find.matchesSelector(oe,i),n.guid||(n.guid=x.guid++),(u=g.events)||(u=g.events=Object.create(null)),(a=g.handle)||(a=g.handle=function(t){return void 0!==x&&x.event.triggered!==t.type?x.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(P)||[""]).length;l--;)h=m=(s=xe.exec(t[l])||[])[1],p=(s[2]||"").split(".").sort(),h&&(f=x.event.special[h]||{},h=(i?f.delegateType:f.bindType)||h,f=x.event.special[h]||{},c=x.extend({type:h,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&x.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=u[h])||((d=u[h]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,p,a)||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),x.event.global[h]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,h,p,m,g=J.hasData(e)&&J.get(e);if(g&&(u=g.events)){for(l=(t=(t||"").match(P)||[""]).length;l--;)if(h=m=(s=xe.exec(t[l])||[])[1],p=(s[2]||"").split(".").sort(),h){for(f=x.event.special[h]||{},d=u[h=(r?f.delegateType:f.bindType)||h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)c=d[o],!i&&m!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,p,g.handle)||x.removeEvent(e,h,g.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=x.event.fix(e),l=(J.get(this,"events")||Object.create(null))[u.type]||[],c=x.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:x.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\s*$/g;function Re(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&x(e).children("tbody")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function je(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Be(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(J.hasData(e)&&(s=J.get(e).events))for(i in J.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof p&&!g.checkClone&&Te.test(p))return e.each(function(i){var o=e.eq(i);m&&(t[0]=p.call(this,i,o.html())),Ie(o,t,n,r)});if(d&&(o=(i=De(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=x.map(we(i,"script"),Oe)).length;f0&&be(a,!f&&we(e,"script")),c},cleanData:function(e){for(var t,n,r,i=x.event.special,o=0;void 0!==(n=e[o]);o++)if(K(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?x.event.remove(n,r):x.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[V.expando]&&(n[V.expando]=void 0)}}}),x.fn.extend({detach:function(e){return Pe(this,e,!0)},remove:function(e){return Pe(this,e)},text:function(e){return q(this,function(e){return void 0===e?x.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(we(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return q(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ye[(ge.exec(e)||["",""])[1].toLowerCase()]){e=x.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=ze(e),i=(!g.boxSizingReliable()||n)&&"border-box"===x.css(e,"boxSizing",!1,r),o=i,a=Ue(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ne.test(a)){if(!n)return a;a="auto"}return(!g.boxSizingReliable()&&i||!g.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===x.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===x.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ue(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=Z(t),u=Ke.test(t),l=e.style;if(u||(t=Ye(s)),a=x.cssHooks[t]||x.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=re.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(x.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=Z(t);return Ke.test(t)||(t=Ye(s)),(a=x.cssHooks[t]||x.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ue(e,t,r)),"normal"===i&&t in Je&&(i=Je[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(x.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):Le(e,Xe,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=ze(e),a=!g.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===x.css(e,"boxSizing",!1,o),u=r?Qe(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),u&&(i=re.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=x.css(e,t)),Ve(0,n,u)}}}),x.cssHooks.marginLeft=He(g.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ue(e,"marginLeft"))||e.getBoundingClientRect().left-Le(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ie[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(x.cssHooks[e+t].set=Ve)}),x.fn.extend({css:function(e,t){return q(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=ze(e),i=t.length;a1)}}),x.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||x.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=x.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):1!==e.elem.nodeType||!x.cssHooks[e.prop]&&null==e.elem.style[Ye(e.prop)]?e.elem[e.prop]=e.now:x.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},x.fx=tt.prototype.init,x.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===w.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(at):n.setTimeout(at,x.fx.interval),x.fx.tick())}function st(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ie[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})}}),x.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?x.prop(e,t,n):(1===o&&x.isXMLDoc(e)||(i=x.attrHooks[t.toLowerCase()]||(x.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void x.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=x.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=dt[t]||x.find.attr;dt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=dt[a],dt[a]=i,i=null!=n(e,t,r)?a:null,dt[a]=o),i}});var ht=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;function mt(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}x.fn.extend({prop:function(e,t){return q(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})}}),x.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&x.isXMLDoc(e)||(t=x.propFix[t]||t,i=x.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(v(e))return this.each(function(t){x(this).addClass(e.call(this,t,gt(this)))});if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(v(e))return this.each(function(t){x(this).removeClass(e.call(this,t,gt(this)))});if(!arguments.length)return this.attr("class","");if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):v(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,gt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=x(this),a=vt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+mt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;x.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=v(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,x(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),(t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(yt,""):null==n?"":n:void 0}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:mt(x.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=x.inArray(x(e).val(),t)>-1}},g.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),g.focusin="onfocusin"in n;var wt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};x.extend(x.event,{trigger:function(e,t,r,i){var o,a,s,u,l,c,f,d,p=[r||w],m=h.call(e,"type")?e.type:e,g=h.call(e,"namespace")?e.namespace.split("."):[];if(a=d=s=r=r||w,3!==r.nodeType&&8!==r.nodeType&&!wt.test(m+x.event.triggered)&&(m.indexOf(".")>-1&&(g=m.split("."),m=g.shift(),g.sort()),l=m.indexOf(":")<0&&"on"+m,(e=e[x.expando]?e:new x.Event(m,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:x.makeArray(t,[e]),f=x.event.special[m]||{},i||!f.trigger||!1!==f.trigger.apply(r,t))){if(!i&&!f.noBubble&&!y(r)){for(u=f.delegateType||m,wt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||w)&&p.push(s.defaultView||s.parentWindow||n)}for(o=0;(a=p[o++])&&!e.isPropagationStopped();)d=a,e.type=o>1?u:f.bindType||m,(c=(J.get(a,"events")||Object.create(null))[e.type]&&J.get(a,"handle"))&&c.apply(a,t),(c=l&&a[l])&&c.apply&&K(a)&&(e.result=c.apply(a,t),!1===e.result&&e.preventDefault());return e.type=m,i||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),t)||!K(r)||l&&v(r[m])&&!y(r)&&((s=r[l])&&(r[l]=null),x.event.triggered=m,e.isPropagationStopped()&&d.addEventListener(m,bt),r[m](),e.isPropagationStopped()&&d.removeEventListener(m,bt),x.event.triggered=void 0,s&&(r[l]=s)),e.result}},simulate:function(e,t,n){var r=x.extend(new x.Event,n,{type:e,isSimulated:!0});x.event.trigger(r,null,t)}}),x.fn.extend({trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return x.event.trigger(e,t,n,!0)}}),g.focusin||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){x.event.simulate(t,e.target,x.event.fix(e))};x.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var _t=n.location,Dt={guid:Date.now()},xt=/\?/;x.parseXML=function(e){var t,r;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){}return r=t&&t.getElementsByTagName("parsererror")[0],t&&!r||x.error("Invalid XML: "+(r?x.map(r.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var kt=/\[\]$/,Et=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Ft=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))x.each(t,function(t,i){n||kt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==D(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}x.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&Ft.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!me.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:Array.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var At=/%20/g,Tt=/#.*$/,$t=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,jt=/^\/\//,Bt={},It={},Pt="*/".concat("*"),Nt=w.createElement("a");function zt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(P)||[];if(v(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Lt(e,t,n,r){var i={},o=e===It;function a(s){var u;return i[s]=!0,x.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Mt(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}Nt.href=_t.href,x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_t.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(_t.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mt(Mt(e,x.ajaxSettings),t):Mt(x.ajaxSettings,e)},ajaxPrefilter:zt(Bt),ajaxTransport:zt(It),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,a,s,u,l,c,f,d,h=x.ajaxSetup({},t),p=h.context||h,m=h.context&&(p.nodeType||p.jquery)?x(p):x.event,g=x.Deferred(),v=x.Callbacks("once memory"),y=h.statusCode||{},b={},_={},D="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Rt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=_[e.toLowerCase()]=_[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)k.always(e[k.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||D;return r&&r.abort(t),E(0,t),this}};if(g.promise(k),h.url=((e||h.url||_t.href)+"").replace(jt,_t.protocol+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(P)||[""],null==h.crossDomain){u=w.createElement("a");try{u.href=h.url,u.href=u.href,h.crossDomain=Nt.protocol+"//"+Nt.host!=u.protocol+"//"+u.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=x.param(h.data,h.traditional)),Lt(Bt,h,t,k),l)return k;for(f in(c=x.event&&h.global)&&0==x.active++&&x.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Ot.test(h.type),i=h.url.replace(Tt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(At,"+")):(d=h.url.slice(i.length),h.data&&(h.processData||"string"==typeof h.data)&&(i+=(xt.test(i)?"&":"?")+h.data,delete h.data),!1===h.cache&&(i=i.replace($t,"$1"),d=(xt.test(i)?"&":"?")+"_="+Dt.guid+++d),h.url=i+d),h.ifModified&&(x.lastModified[i]&&k.setRequestHeader("If-Modified-Since",x.lastModified[i]),x.etag[i]&&k.setRequestHeader("If-None-Match",x.etag[i])),(h.data&&h.hasContent&&!1!==h.contentType||t.contentType)&&k.setRequestHeader("Content-Type",h.contentType),k.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Pt+"; q=0.01":""):h.accepts["*"]),h.headers)k.setRequestHeader(f,h.headers[f]);if(h.beforeSend&&(!1===h.beforeSend.call(p,k,h)||l))return k.abort();if(D="abort",v.add(h.complete),k.done(h.success),k.fail(h.error),r=Lt(It,h,t,k)){if(k.readyState=1,c&&m.trigger("ajaxSend",[k,h]),l)return k;h.async&&h.timeout>0&&(s=n.setTimeout(function(){k.abort("timeout")},h.timeout));try{l=!1,r.send(b,E)}catch(e){if(l)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,a,u){var f,d,w,b,_,D=t;l||(l=!0,s&&n.clearTimeout(s),r=void 0,o=u||"",k.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(h,k,a)),!f&&x.inArray("script",h.dataTypes)>-1&&x.inArray("json",h.dataTypes)<0&&(h.converters["text script"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(h,b,k,f),f?(h.ifModified&&((_=k.getResponseHeader("Last-Modified"))&&(x.lastModified[i]=_),(_=k.getResponseHeader("etag"))&&(x.etag[i]=_)),204===e||"HEAD"===h.type?D="nocontent":304===e?D="notmodified":(D=b.state,d=b.data,f=!(w=b.error))):(w=D,!e&&D||(D="error",e<0&&(e=0))),k.status=e,k.statusText=(t||D)+"",f?g.resolveWith(p,[d,D,k]):g.rejectWith(p,[k,D,w]),k.statusCode(y),y=void 0,c&&m.trigger(f?"ajaxSuccess":"ajaxError",[k,h,f?d:w]),v.fireWith(p,[k,D]),c&&(m.trigger("ajaxComplete",[k,h]),--x.active||x.event.trigger("ajaxStop")))}return k},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,void 0,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return v(n)&&(i=i||r,r=n,n=void 0),x.ajax(x.extend({url:e,type:t,dataType:i,data:n,success:r},x.isPlainObject(e)&&e))}}),x.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),x._evalUrl=function(e,t,n){return x.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){x.globalEval(e,t,n)}})},x.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return v(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){x(this).replaceWith(this.childNodes)}),this}}),x.expr.pseudos.hidden=function(e){return!x.expr.pseudos.visible(e)},x.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},x.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Ht=x.ajaxSettings.xhr();g.cors=!!Ht&&"withCredentials"in Ht,g.ajax=Ht=!!Ht,x.ajaxTransport(function(e){var t,r;if(g.cors||Ht&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Ut[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),x.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=x(" - - - - - - - - - -
-
-
-
HTML
-
- -
-
-
-
CSS
-
- -
-
-
-
LIPS
-
- -
-
-
-
-
-
-
-
- - diff --git a/editor/index.js b/editor/index.js deleted file mode 100644 index d4d11b4b7..000000000 --- a/editor/index.js +++ /dev/null @@ -1,11 +0,0 @@ -require('expose-loader?CodeMirror!codemirror/lib/codemirror'); -//require('expose-loader?LightningFS!../../lightning-fs'); -require('expose-loader?fs!./lightning-fs.min.js'); -require("codemirror/lib/codemirror.css"); -require('codemirror/addon/scroll/simplescrollbars'); -require("codemirror/addon/edit/matchbrackets"); -['css', 'xml', 'javascript', 'htmlmixed', 'scheme'].forEach(function(mode) { - require(`codemirror/mode/${mode}/${mode}`); -}); -require("codemirror/theme/twilight.css"); - diff --git a/editor/lightning-fs.min.js b/editor/lightning-fs.min.js deleted file mode 100644 index 26f09a789..000000000 --- a/editor/lightning-fs.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.LightningFS=e():t.LightningFS=e()}(self,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=2)}([function(t,e){function i(...t){if(0===t.length)return"";let e=t.join("/");return e=e.replace(/\/{2,}/g,"/")}function n(t){if(0===t.length)return[];if("/"===t)return["/"];let e=t.split("/");return""===e[e.length-1]&&e.pop(),"/"===t[0]?e[0]="/":"."!==e[0]&&e.unshift("."),e}function r(t,e){if(0===t.length)return t.push(e),t;if("."===e)return t;if(".."===e){if(1===t.length){if("/"===t[0])throw new Error("Unable to normalize path - traverses above root directory");if("."===t[0])return t.push(e),t}return".."===t[t.length-1]?(t.push(".."),t):(t.pop(),t)}return t.push(e),t}t.exports={join:i,normalize:function(t){if(0===t.length)return".";let e=n(t);return e=e.reduce(r,[]),i(...e)},split:n,basename:function(t){if("/"===t)throw new Error(`Cannot get basename of "${t}"`);const e=t.lastIndexOf("/");return-1===e?t:t.slice(e+1)},dirname:function(t){const e=t.lastIndexOf("/");if(-1===e)throw new Error(`Cannot get dirname of "${t}"`);return 0===e?"/":t.slice(0,e)}}},function(t,e){function i(t){return class extends Error{constructor(...e){super(...e),this.code=t,this.message?this.message=t+": "+this.message:this.message=t}}}const n=i("EEXIST"),r=i("ENOENT"),s=i("ENOTEMPTY");t.exports={EEXIST:n,ENOENT:r,ENOTEMPTY:s}},function(t,e,i){const n=i(3),r=i(4);function s(t,e){"function"==typeof t&&(e=t);return[(...t)=>e(null,...t),e=n(e)]}t.exports=class{constructor(...t){this.promises=new r(...t),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this)}readFile(t,e,i){const[n,r]=s(e,i);this.promises.readFile(t,e).then(n).catch(r)}writeFile(t,e,i,n){const[r,o]=s(i,n);this.promises.writeFile(t,e,i).then(r).catch(o)}unlink(t,e,i){const[n,r]=s(e,i);this.promises.unlink(t,e).then(n).catch(r)}readdir(t,e,i){const[n,r]=s(e,i);this.promises.readdir(t,e).then(n).catch(r)}mkdir(t,e,i){const[n,r]=s(e,i);this.promises.mkdir(t,e).then(n).catch(r)}rmdir(t,e,i){const[n,r]=s(e,i);this.promises.rmdir(t,e).then(n).catch(r)}rename(t,e,i){const[n,r]=s(i);this.promises.rename(t,e).then(n).catch(r)}stat(t,e,i){const[n,r]=s(e,i);this.promises.stat(t).then(n).catch(r)}lstat(t,e,i){const[n,r]=s(e,i);this.promises.lstat(t).then(n).catch(r)}readlink(t,e,i){const[n,r]=s(e,i);this.promises.readlink(t).then(n).catch(r)}symlink(t,e,i){const[n,r]=s(i);this.promises.symlink(t,e).then(n).catch(r)}}},function(t,e){t.exports=function(t){var e,i;if("function"!=typeof t)throw new Error("expected a function but got "+t);return function(){return e?i:(e=!0,i=t.apply(this,arguments))}}},function(t,e,i){const{encode:n,decode:r}=i(5),s=i(8),o=i(9),a=i(10),{ENOENT:h,ENOTEMPTY:u}=i(1),l=i(11),c=i(13),d=i(0);i(14);function p(t,e){return void 0!==e&&"function"!=typeof e||(e={}),"string"==typeof e&&(e={encoding:e}),[t=d.normalize(t),e]}function f(t,e){return[d.normalize(t),d.normalize(e)]}t.exports=class{constructor(t,{wipe:e,url:i}={}){this._idb=new l(t),this._cache=new a(t),this._opts={wipe:e,url:i},this.saveSuperblock=s(()=>{this._saveSuperblock()},500),i&&(this._http=new c(i)),this._initPromise=this._init(),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this)}async _init(){if(this._initPromise)return this._initPromise;this._opts.wipe?await this._wipe():await this._loadSuperblock()}_wipe(){return this._idb.wipe().then(()=>{if(this._http)return this._http.loadSuperblock().then(t=>{t&&this._cache.loadSuperBlock(t)})}).then(()=>this._saveSuperblock())}_saveSuperblock(){return this._idb.saveSuperblock(this._cache._root)}_loadSuperblock(){return this._idb.loadSuperblock().then(t=>{if(t)this._cache.loadSuperBlock(t);else if(this._http)return this._http.loadSuperblock().then(t=>{t&&this._cache.loadSuperBlock(t)})})}async readFile(t,e){await this._init(),[t,e]=p(t,e);const{encoding:i}=e;if(i&&"utf8"!==i)throw new Error('Only "utf8" encoding is supported in readFile');const n=this._cache.stat(t);let s=await this._idb.readFile(n.ino);return!s&&this._http&&(s=await this._http.readFile(t)),s&&"utf8"===i&&(s=r(s)),s}async writeFile(t,e,i){await this._init(),[t,i]=p(t,i);const{mode:r,encoding:s="utf8"}=i;if("string"==typeof e){if("utf8"!==s)throw new Error('Only "utf8" encoding is supported in writeFile');e=n(e)}const o=this._cache.writeFile(t,e,{mode:r});return await this._idb.writeFile(o.ino,e),this.saveSuperblock(),null}async unlink(t,e){await this._init(),[t,e]=p(t,e);const i=this._cache.stat(t);return this._cache.unlink(t),await this._idb.unlink(i.ino),this.saveSuperblock(),null}async readdir(t,e){return await this._init(),[t,e]=p(t,e),this._cache.readdir(t)}async mkdir(t,e){await this._init(),[t,e]=p(t,e);const{mode:i=511}=e;return await this._cache.mkdir(t,{mode:i}),this.saveSuperblock(),null}async rmdir(t,e){if(await this._init(),[t,e]=p(t,e),"/"===t)throw new u;return this._cache.rmdir(t),this.saveSuperblock(),null}async rename(t,e){return await this._init(),[t,e]=f(t,e),this._cache.rename(t,e),this.saveSuperblock(),null}async stat(t,e){await this._init(),[t,e]=p(t,e);const i=this._cache.stat(t);return new o(i)}async lstat(t,e){await this._init(),[t,e]=p(t,e);let i=this._cache.lstat(t);return new o(i)}async readlink(t,e){return await this._init(),[t,e]=p(t,e),this._cache.readlink(t)}async symlink(t,e){return await this._init(),[t,e]=f(t,e),this._cache.symlink(t,e),this.saveSuperblock(),null}}},function(t,e,i){i(6),t.exports={encode:t=>(new TextEncoder).encode(t),decode:t=>(new TextDecoder).decode(t)}},function(t,e,i){(function(t){!function(t){function e(t){if("utf-8"!==(t=void 0===t?"utf-8":t))throw new RangeError("Failed to construct 'TextEncoder': The encoding label provided ('"+t+"') is invalid.")}function i(t,e){if(e=void 0===e?{fatal:!1}:e,"utf-8"!==(t=void 0===t?"utf-8":t))throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+t+"') is invalid.");if(e.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}if(t.TextEncoder&&t.TextDecoder)return!1;Object.defineProperty(e.prototype,"encoding",{value:"utf-8"}),e.prototype.encode=function(t,e){if((e=void 0===e?{stream:!1}:e).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");e=0;for(var i=t.length,n=0,r=Math.max(32,i+(i>>1)+7),s=new Uint8Array(r>>3<<3);e=o){if(e=o)continue}if(n+4>s.length&&(r+=8,r=(r*=1+e/t.length*2)>>3<<3,(a=new Uint8Array(r)).set(s),s=a),0==(4294967168&o))s[n++]=o;else{if(0==(4294965248&o))s[n++]=o>>6&31|192;else if(0==(4294901760&o))s[n++]=o>>12&15|224,s[n++]=o>>6&63|128;else{if(0!=(4292870144&o))continue;s[n++]=o>>18&7|240,s[n++]=o>>12&63|128,s[n++]=o>>6&63|128}s[n++]=63&o|128}}return s.slice(0,n)},Object.defineProperty(i.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(i.prototype,"fatal",{value:!1}),Object.defineProperty(i.prototype,"ignoreBOM",{value:!1}),i.prototype.decode=function(t,e){if((e=void 0===e?{stream:!1}:e).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");e=0;for(var i=(t=new Uint8Array(t)).length,n=[];e>>10&1023|55296),r=56320|1023&r),n.push(r)}}return String.fromCharCode.apply(null,n)},t.TextEncoder=e,t.TextDecoder=i}("undefined"!=typeof window?window:void 0!==t?t:this)}).call(this,i(7))},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e){t.exports=function(t,e,i){var n;return function(){if(!e)return t.apply(this,arguments);var r=this,s=arguments,o=i&&!n;return clearTimeout(n),n=setTimeout(function(){if(n=null,!o)return t.apply(r,s)},e),o?t.apply(this,arguments):void 0}}},function(t,e){t.exports=class{constructor(t){this.type=t.type,this.mode=t.mode,this.size=t.size,this.ino=t.ino,this.mtimeMs=t.mtimeMs,this.ctimeMs=t.ctimeMs||t.mtimeMs,this.uid=1,this.gid=1,this.dev=1}isFile(){return"file"===this.type}isDirectory(){return"dir"===this.type}isSymbolicLink(){return"symlink"===this.type}}},function(t,e,i){const n=i(0),{ENOENT:r,EEXIST:s,ENOTEMPTY:o}=i(1),a=0;t.exports=class{constructor(){this._root=new Map([["/",this._makeRoot()]])}_makeRoot(t=new Map){return t.set(a,{mode:511,type:"dir",size:0,ino:0,mtimeMs:Date.now()}),t}loadSuperBlock(t){this._root="string"==typeof t?new Map([["/",this._makeRoot(this.parse(t))]]):t}size(){return this._countInodes(this._root.get("/"))-1}_countInodes(t){let e=1;for(let[i,n]of t)i!==a&&(e+=this._countInodes(n));return e}autoinc(){return this._maxInode(this._root.get("/"))+1}_maxInode(t){let e=t.get(a).ino;for(let[i,n]of t)i!==a&&(e=Math.max(e,this._maxInode(n)));return e}print(t=this._root.get("/")){let e="";const i=(t,n)=>{for(let[r,s]of t){if(0===r)continue;let t=s.get(a),o=t.mode.toString(8);e+=`${"\t".repeat(n)}${r}\t${o}`,"file"===t.type?e+=`\t${t.size}\t${t.mtimeMs}\n`:(e+="\n",i(s,n+1))}};return i(t,0),e}parse(t){let e=0;function i(t){const i=++e,n=1===t.length?"dir":"file";let[r,s,o]=t;return r=parseInt(r,8),s=s?parseInt(s):0,o=o?parseInt(o):Date.now(),new Map([[a,{mode:r,type:n,size:s,mtimeMs:o,ino:i}]])}let n=t.trim().split("\n"),r=this._makeRoot(),s=[{indent:-1,node:r},{indent:0,node:null}];for(let t of n){let e=t.match(/^\t*/)[0].length;t=t.slice(e);let[n,...r]=t.split("\t"),o=i(r);if(e<=s[s.length-1].indent)for(;e<=s[s.length-1].indent;)s.pop();s.push({indent:e,node:o}),s[s.length-2].node.set(n,o)}return r}_lookup(t,e=!0){let i=this._root,s="/";for(let o of n.split(t)){if(!(i=i.get(o)))throw new r(t);if(e){const t=i.get(a);if("symlink"===t.type){let e=t.target;e.startsWith("/")||(e=n.normalize(n.join(s,e))),i=this._lookup(e)}s=s?n.join(s,o):o}}return i}mkdir(t,{mode:e}){if("/"===t)throw new s;let i=this._lookup(n.dirname(t)),r=n.basename(t);if(i.has(r))throw new s;let o=new Map,h={mode:e,type:"dir",size:0,mtimeMs:Date.now(),ino:this.autoinc()};o.set(a,h),i.set(r,o)}rmdir(t){if(this._lookup(t).size>1)throw new o;let e=this._lookup(n.dirname(t)),i=n.basename(t);e.delete(i)}readdir(t){return[...this._lookup(t).keys()].filter(t=>"string"==typeof t)}writeFile(t,e,{mode:i}){let r;try{let e=this.stat(t);null===i&&(i=e.mode),r=e.ino}catch(t){}null==i&&(i=438),null==r&&(r=this.autoinc());let s=this._lookup(n.dirname(t)),o=n.basename(t),h={mode:i,type:"file",size:e.length,mtimeMs:Date.now(),ino:r},u=new Map;return u.set(a,h),s.set(o,u),h}unlink(t){let e=this._lookup(n.dirname(t)),i=n.basename(t);e.delete(i)}rename(t,e){let i=this._lookup(t);this.unlink(t);let r=this._lookup(n.dirname(e)),s=n.basename(e);r.set(s,i)}stat(t){return this._lookup(t).get(a)}lstat(t){return this._lookup(t,!1).get(a)}readlink(t){return this._lookup(t,!1).get(a).target}symlink(t,e){let i,r;try{let t=this.stat(e);null===r&&(r=t.mode),i=t.ino}catch(t){}null==r&&(r=438),null==i&&(i=this.autoinc());let s=this._lookup(n.dirname(e)),o=n.basename(e),h={mode:r,type:"symlink",target:t,size:0,mtimeMs:Date.now(),ino:i},u=new Map;return u.set(a,h),s.set(o,u),h}}},function(t,e,i){const n=i(12);t.exports=class{constructor(t){this._database=t,this._store=new n.Store(this._database,this._database+"_files")}saveSuperblock(t){return n.set("!root",t,this._store)}loadSuperblock(){return n.get("!root",this._store)}readFile(t){return n.get(t,this._store)}writeFile(t,e){return n.set(t,e,this._store)}unlink(t){return n.del(t,this._store)}wipe(){return n.clear(this._store)}}},function(t,e,i){"use strict";i.r(e),i.d(e,"Store",function(){return n}),i.d(e,"get",function(){return o}),i.d(e,"set",function(){return a}),i.d(e,"del",function(){return h}),i.d(e,"clear",function(){return u}),i.d(e,"keys",function(){return l});class n{constructor(t="keyval-store",e="keyval"){this.storeName=e,this._dbp=new Promise((i,n)=>{const r=indexedDB.open(t,1);r.onerror=(()=>n(r.error)),r.onsuccess=(()=>i(r.result)),r.onupgradeneeded=(()=>{r.result.createObjectStore(e)})})}_withIDBStore(t,e){return this._dbp.then(i=>new Promise((n,r)=>{const s=i.transaction(this.storeName,t);s.oncomplete=(()=>n()),s.onabort=s.onerror=(()=>r(s.error)),e(s.objectStore(this.storeName))}))}}let r;function s(){return r||(r=new n),r}function o(t,e=s()){let i;return e._withIDBStore("readonly",e=>{i=e.get(t)}).then(()=>i.result)}function a(t,e,i=s()){return i._withIDBStore("readwrite",i=>{i.put(e,t)})}function h(t,e=s()){return e._withIDBStore("readwrite",e=>{e.delete(t)})}function u(t=s()){return t._withIDBStore("readwrite",t=>{t.clear()})}function l(t=s()){const e=[];return t._withIDBStore("readonly",t=>{(t.openKeyCursor||t.openCursor).call(t).onsuccess=function(){this.result&&(e.push(this.result.key),this.result.continue())}}).then(()=>e)}},function(t,e){t.exports=class{constructor(t){this._url=t}loadSuperblock(){return fetch(this._url+"/.superblock.txt").then(t=>t.text())}readFile(t){return fetch(this._url+t).then(t=>t.arrayBuffer())}}},function(t,e){t.exports=function(t){return performance.mark(`${t} start`),function(){performance.mark(`${t} end`),performance.measure(`${t}`,`${t} start`,`${t} end`)}}}])}); \ No newline at end of file diff --git a/editor/logo.svg b/editor/logo.svg deleted file mode 100644 index 947b55d6f..000000000 --- a/editor/logo.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - ( - ) - - - - diff --git a/editor/package-lock.json b/editor/package-lock.json deleted file mode 100644 index 307e8cb16..000000000 --- a/editor/package-lock.json +++ /dev/null @@ -1,12422 +0,0 @@ -{ - "name": "editor", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "version": "0.1.0", - "license": "MIT", - "devDependencies": { - "@jcubic/lips": "^1.0.0-beta.15", - "codemirror": "^5.46.0", - "css-loader": "^2.1.1", - "debounce": "^1.2.0", - "expose-loader": "^0.7.5", - "isomorphic-git": "^0.54.2", - "jquery": "^3.4.1", - "jquery.splitter": "^0.28.1", - "jquery.terminal": "^2.29.4", - "jszip": "^3.2.1", - "prismjs": "^1.25.0", - "style-loader": "^0.23.1", - "wcwidth": "^1.0.1", - "webpack": "^4.30.0", - "webpack-cli": "^3.3.1" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/highlight": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.0.tgz", - "integrity": "sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "peer": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz", - "integrity": "sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", - "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz", - "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.16.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", - "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", - "dev": true, - "peer": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", - "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "node_modules/@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@jcubic/lily": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@jcubic/lily/-/lily-0.3.0.tgz", - "integrity": "sha512-4z6p4jLGSthc8gQ7wu4nHfGYn/IgCKFr+7hjuf80VdXUs7sm029mZGGDpS8sb29PVZWUBvMMTBCVGFhH2nN4Vw==", - "dev": true - }, - "node_modules/@jcubic/lips": { - "version": "1.0.0-beta.15", - "resolved": "https://registry.npmjs.org/@jcubic/lips/-/lips-1.0.0-beta.15.tgz", - "integrity": "sha512-TQk7zCRxl5V7uc16bSYJzzUJ57ZoNb0I5C7jUr3t1V1sKuwBk7wX9Ya/Cw1tf+TTXOFRp0FGCrPsA9mwo2uAFg==", - "dev": true, - "dependencies": { - "@jcubic/lily": "^0.3.0", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.0.6", - "bn.js": "^5.2.0", - "cbor-x": "^0.8.3", - "lzjb-pack": "^0.2.0", - "prism-cli": "^0.5.3", - "prismjs": "^1.25.0", - "unfetch": "^4.2.0" - }, - "bin": { - "lips": "bin/lips.js" - } - }, - "node_modules/@jcubic/lips/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", - "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", - "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^2.38.3" - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.6.tgz", - "integrity": "sha512-sFsPDMPd4gMqnh2gS0uIxELnoRUp5kBl5knxD2EO0778G1oOJv4G1vyT2cpWz75OU2jDVcXhjVUuTAczGyFNKA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^2.42.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/jquery": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.8.tgz", - "integrity": "sha512-cXk6NwqjDYg+UI9p2l3x0YmPa4m7RrXqmbK4IpVVpRJiYXU/QTo+UZrn54qfE1+9Gao4qpYqUnxm5ZCy2FTXAw==", - "dev": true, - "dependencies": { - "@types/sizzle": "*" - } - }, - "node_modules/@types/node": { - "version": "16.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", - "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansidec": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/ansidec/-/ansidec-0.3.4.tgz", - "integrity": "sha512-Ydgbey4zqUmmNN2i2OVeVHXig3PxHRbok2X6B2Sogmb92JzZUFfTL806dT7os6tBL1peXItfeFt76CP3zsoXUg==", - "dev": true - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/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, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "dependencies": { - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "node_modules/async-lock": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.2.0.tgz", - "integrity": "sha512-81HzTQm4+qMj6PwNlnR+y9g7pDdGGzd/YBUrQnHk+BhR28ja2qv497NkQQc1KcKEqh/RShm07di2b0cIWVFrNQ==", - "dev": true - }, - "node_modules/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, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", - "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/benchmark": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", - "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=", - "dev": true, - "engines": [ - "node", - "rhino" - ] - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bluebird": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", - "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/bops": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.7.tgz", - "integrity": "sha1-tKClqDmkBkVK8P4FqLkaenZqVOI=", - "dev": true, - "dependencies": { - "base64-js": "0.0.2", - "to-utf8": "0.0.1" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/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, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/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, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/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, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/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, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.17.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz", - "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==", - "dev": true, - "peer": true, - "dependencies": { - "caniuse-lite": "^1.0.30001274", - "electron-to-chromium": "^1.3.886", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/buffer/node_modules/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 - }, - "node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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 - }, - "node_modules/cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001275", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001275.tgz", - "integrity": "sha512-ihJVvj8RX0kn9GgP43HKhb5q9s2XQn4nEQhdldEJvZhCsuiB2XOq6fAMYQZaN6FPWfsr2qU0cdL0CSbETwbJAg==", - "dev": true, - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/cbor-extract": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cbor-extract/-/cbor-extract-0.3.2.tgz", - "integrity": "sha512-euTSudP3MORNR9+DLDY6seMBZ5EA32CLdobmN5IjmU00zZDnim1zSZZAVrNubKfoBFhckDJFJXSx6zOLNbIYqw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "nan": "^2.14.2", - "node-gyp-build": "^4.2.3" - } - }, - "node_modules/cbor-x": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cbor-x/-/cbor-x-0.8.3.tgz", - "integrity": "sha512-tc/+0i31OpHEzPlztuhqpKF4dze/onFK6acJBiDDKLt5U3NY6snX0AVZinfl3PhMwJBy+0eYHEtBPBM8Wtr/cA==", - "dev": true, - "optionalDependencies": { - "cbor-extract": "^0.3.1" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", - "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/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, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-git-ref": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-1.0.3.tgz", - "integrity": "sha1-UyXcg56rAcl0rg6X9XNHgnUPiOw=", - "dev": true - }, - "node_modules/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, - "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/codemirror": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.46.0.tgz", - "integrity": "sha512-3QpMge0vg4QEhHW3hBAtCipJEWjTJrqLLXdIaWptJOblf1vHFeXLNtFhPai/uX2lnFCehWNk4yOdaMR853Z02w==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/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, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "dependencies": { - "date-now": "^0.1.4" - } - }, - "node_modules/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 - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "dev": true, - "dependencies": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - }, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/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, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "node_modules/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, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "dev": true, - "dependencies": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "node_modules/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 - }, - "node_modules/debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==", - "dev": true - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/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, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/diff": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz", - "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-lines": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/diff-lines/-/diff-lines-1.1.0.tgz", - "integrity": "sha1-S72SVxPgJ0d7zUIIG2hEkUexlkg=", - "dev": true, - "dependencies": { - "diff": "^2.2.3" - } - }, - "node_modules/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, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.888", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.888.tgz", - "integrity": "sha512-5iD1zgyPpFER4kJ716VsA4MxQ6x405dxdFNCEK2mITL075VHO5ResjY0xzQUZguCww/KlBxCA6JmBA9sDt1PRw==", - "dev": true, - "peer": true - }, - "node_modules/elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "dependencies": { - "estraverse": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/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, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expose-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", - "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", - "dev": true, - "engines": { - "node": ">= 4.3 < 5.0.0 || >= 5.10" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/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, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "node_modules/figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/findup-sync/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "bundleDependencies": [ - "node-pre-gyp" - ], - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/fsevents/node_modules/abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/ansi-regex": { - "version": "2.1.1", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/fsevents/node_modules/balanced-match": { - "version": "1.0.0", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/fsevents/node_modules/chownr": { - "version": "1.1.1", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/code-point-at": { - "version": "1.1.0", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/concat-map": { - "version": "0.0.1", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/console-control-strings": { - "version": "1.1.0", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/core-util-is": { - "version": "1.0.2", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/debug": { - "version": "4.1.1", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/fsevents/node_modules/deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fsevents/node_modules/delegates": { - "version": "1.0.0", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/detect-libc": { - "version": "1.0.3", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "inBundle": true, - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/fsevents/node_modules/fs-minipass": { - "version": "1.2.5", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minipass": "^2.2.1" - } - }, - "node_modules/fsevents/node_modules/fs.realpath": { - "version": "1.0.0", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/gauge": { - "version": "2.7.4", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "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" - } - }, - "node_modules/fsevents/node_modules/glob": { - "version": "7.1.3", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/has-unicode": { - "version": "2.0.1", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/ignore-walk": { - "version": "3.0.1", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, - "node_modules/fsevents/node_modules/inflight": { - "version": "1.0.6", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/fsevents/node_modules/inherits": { - "version": "2.0.3", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/isarray": { - "version": "1.0.0", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/minimist": { - "version": "0.0.8", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/minipass": { - "version": "2.3.5", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/fsevents/node_modules/minizlib": { - "version": "1.2.1", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minipass": "^2.2.1" - } - }, - "node_modules/fsevents/node_modules/mkdirp": { - "version": "0.5.1", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/fsevents/node_modules/ms": { - "version": "2.1.1", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/needle": { - "version": "2.3.0", - "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/fsevents/node_modules/node-pre-gyp": { - "version": "0.12.0", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "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" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/fsevents/node_modules/nopt": { - "version": "4.0.1", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/fsevents/node_modules/npm-bundled": { - "version": "1.0.6", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/npm-packlist": { - "version": "1.4.1", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "node_modules/fsevents/node_modules/npmlog": { - "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/fsevents/node_modules/number-is-nan": { - "version": "1.0.1", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/object-assign": { - "version": "4.1.1", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/once": { - "version": "1.4.0", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/fsevents/node_modules/os-homedir": { - "version": "1.0.2", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/os-tmpdir": { - "version": "1.0.2", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/fsevents/node_modules/path-is-absolute": { - "version": "1.0.1", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/process-nextick-args": { - "version": "2.0.0", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/fsevents/node_modules/rc/node_modules/minimist": { - "version": "1.2.0", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "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" - } - }, - "node_modules/fsevents/node_modules/rimraf": { - "version": "2.6.3", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fsevents/node_modules/safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/semver": { - "version": "5.7.0", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true, - "inBundle": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/fsevents/node_modules/set-blocking": { - "version": "2.0.0", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/signal-exit": { - "version": "3.0.2", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fsevents/node_modules/string-width": { - "version": "1.0.2", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/strip-ansi": { - "version": "3.0.1", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/strip-json-comments": { - "version": "2.0.1", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/tar": { - "version": "4.4.8", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/fsevents/node_modules/util-deprecate": { - "version": "1.0.2", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/fsevents/node_modules/wrappy": { - "version": "1.0.2", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/yallist": { - "version": "3.0.3", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/git-apply-delta": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/git-apply-delta/-/git-apply-delta-0.0.7.tgz", - "integrity": "sha1-+3auFEVA15RAtSsx3gPmPJk8chk=", - "dev": true, - "dependencies": { - "bops": "~0.0.6", - "varint": "0.0.3" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalyzer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", - "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", - "dev": true - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/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, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "node_modules/icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "node_modules/ignore": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.1.tgz", - "integrity": "sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "node_modules/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-git": { - "version": "0.54.2", - "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.54.2.tgz", - "integrity": "sha512-hAD1AOnD5M1ZtQdgMEN0rG755KfJRA3VRViYdiv+rormrhIgqQA7457fajk22a6Yp0dVd8O73bMW9+4ihLKidQ==", - "dev": true, - "dependencies": { - "async-lock": "^1.1.0", - "clean-git-ref": "1.0.3", - "crc-32": "^1.2.0", - "diff-lines": "^1.1.0", - "git-apply-delta": "0.0.7", - "globalyzer": "^0.1.0", - "globrex": "^0.1.2", - "ignore": "^5.0.4", - "marky": "^1.2.1", - "minimisted": "^2.0.0", - "nick": "^0.1.3", - "pako": "^1.0.7", - "pify": "^4.0.1", - "readable-stream": "^3.1.1", - "sha.js": "^2.4.9", - "simple-get": "^3.0.2" - }, - "bin": { - "isogit": "cli.js" - }, - "engines": { - "node": ">=7.6.0" - } - }, - "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", - "dev": true - }, - "node_modules/jquery.splitter": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/jquery.splitter/-/jquery.splitter-0.28.1.tgz", - "integrity": "sha512-pYeli464CAm3dIrhDXODPCZZBFc6HgCekmG7DSs02mxXiLYWlAMjQMcoAwnHEB9Y1H0seCvId2KKhH+0/b+PYQ==", - "dev": true - }, - "node_modules/jquery.terminal": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.29.4.tgz", - "integrity": "sha512-ugzctBbbJmw3ZGIhYziBFEK8QnWAZy2q6sZUtmPgjni4ILg59tO0WJI9DkKiDZ4LQtdCVexQ5oP0J90jMN+TzA==", - "dev": true, - "dependencies": { - "@jcubic/lily": "^0.3.0", - "@types/jquery": "^3.5.6", - "ansidec": "^0.3.4", - "iconv-lite": "^0.6.3", - "jquery": "^3.6.0", - "prismjs": "^1.25.0", - "wcwidth": "^1.0.1" - }, - "bin": { - "from-ansi": "bin/convert.js" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jquery.terminal/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/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, - "peer": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jszip": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.1.tgz", - "integrity": "sha512-iCMBbo4eE5rb1VCpm5qXOAaUiRKRUKiItn8ah2YQQx9qymmSAY98eyQfioChEYcVQLh0zxJ3wS4A0mh90AVPvw==", - "dev": true, - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "dependencies": { - "invert-kv": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lzjb-pack": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/lzjb-pack/-/lzjb-pack-0.2.0.tgz", - "integrity": "sha512-kq31VT9O9XoSR5kdXYglGDeDKgAfmu39MWrc7TzYVJBRT6UMc5PSYhkZHdqKiBFKVk9e5DWNyBF3Yji1GifD+Q==", - "dev": true - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/marky": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.1.tgz", - "integrity": "sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "dependencies": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/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 - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/minimisted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.0.tgz", - "integrity": "sha512-oP88Dw3LK/pdrKyMdlbmg3W50969UNr4ctISzJfPl+YPYHTAOrS+dihXnsgRNKSRIzDsrnV3eE2CCVlZbpOKdQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - } - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "deprecated": "Critical bug fixed in v2.0.1, please upgrade to the latest version.", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/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, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/nick": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/nick/-/nick-0.1.3.tgz", - "integrity": "sha1-2KMLfaeJ1BfguqVDfzPEh76bYCA=", - "dev": true, - "dependencies": { - "benchmark": "^1.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/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, - "dependencies": { - "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_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true, - "peer": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "dependencies": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true, - "peer": true - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-scope": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", - "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "dev": true, - "dependencies": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/postcss/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "dev": true, - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/prism-cli": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/prism-cli/-/prism-cli-0.5.3.tgz", - "integrity": "sha512-8tuw/MmG/U3d74j5JTWvTI6quEV4G4a5vsso0LDaYBFEbPd1yN3V/VuOYk47IKS2Iuj8E7j1WPQAFCUEdULo3w==", - "dev": true, - "dependencies": { - "@jcubic/lily": "^0.1.0", - "prismjs": "^1.22.0", - "supports-color": "^7.2.0" - }, - "bin": { - "prism": "bin/prism.js" - } - }, - "node_modules/prism-cli/node_modules/@jcubic/lily": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@jcubic/lily/-/lily-0.1.0.tgz", - "integrity": "sha512-kIsp4dmIUHn3YHIqFhEylY+mgI988KcYI8f19og7LqmLzkouPZNBip/oL8iemElie0gqx5CeQ5HxZv/SuNkOaA==", - "dev": true - }, - "node_modules/prism-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/prism-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prismjs": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz", - "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==", - "dev": true - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/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 - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/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, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/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, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", - "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/readdirp/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/readdirp/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/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, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rollup": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz", - "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==", - "dev": true, - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/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 - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/serialize-javascript": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", - "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "node_modules/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, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", - "dev": true - }, - "node_modules/simple-get": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz", - "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==", - "dev": true, - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/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, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/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, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "bin": { - "terser": "bin/uglifyjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", - "dev": true, - "dependencies": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/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, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/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 - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-utf8": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", - "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=", - "dev": true - }, - "node_modules/tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/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, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/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, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/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 - }, - "node_modules/varint": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/varint/-/varint-0.0.3.tgz", - "integrity": "sha1-uCHemwSzizzSL3LBjZSp+3KrNRg=", - "dev": true - }, - "node_modules/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, - "dependencies": { - "indexof": "0.0.1" - } - }, - "node_modules/watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "dependencies": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webpack": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz", - "integrity": "sha512-4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack-cli": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.1.tgz", - "integrity": "sha512-c2inFU7SM0IttEgF7fK6AaUsbBnORRzminvbyRKS+NlbQHVZdCtzKBlavRL5359bFsywXGRAItA5di/IruC8mg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "findup-sync": "^2.0.0", - "global-modules": "^1.0.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.5" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "4.x.x" - } - }, - "node_modules/webpack-cli/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/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 - }, - "node_modules/worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/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, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/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, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/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, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/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 - }, - "node_modules/yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true - }, - "node_modules/yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "dependencies": { - "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" - } - }, - "node_modules/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, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "peer": true, - "requires": { - "@babel/highlight": "^7.16.0" - } - }, - "@babel/compat-data": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.0.tgz", - "integrity": "sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==", - "dev": true, - "peer": true - }, - "@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true - } - } - }, - "@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz", - "integrity": "sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==", - "dev": true, - "peer": true, - "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", - "dev": true, - "peer": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", - "dev": true, - "peer": true, - "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", - "dev": true, - "peer": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", - "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, - "peer": true - }, - "@babel/helpers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz", - "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==", - "dev": true, - "peer": true, - "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", - "dev": true, - "peer": true, - "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.16.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", - "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", - "dev": true, - "peer": true - }, - "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/traverse": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", - "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - } - } - }, - "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" - } - }, - "@jcubic/lily": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@jcubic/lily/-/lily-0.3.0.tgz", - "integrity": "sha512-4z6p4jLGSthc8gQ7wu4nHfGYn/IgCKFr+7hjuf80VdXUs7sm029mZGGDpS8sb29PVZWUBvMMTBCVGFhH2nN4Vw==", - "dev": true - }, - "@jcubic/lips": { - "version": "1.0.0-beta.15", - "resolved": "https://registry.npmjs.org/@jcubic/lips/-/lips-1.0.0-beta.15.tgz", - "integrity": "sha512-TQk7zCRxl5V7uc16bSYJzzUJ57ZoNb0I5C7jUr3t1V1sKuwBk7wX9Ya/Cw1tf+TTXOFRp0FGCrPsA9mwo2uAFg==", - "dev": true, - "requires": { - "@jcubic/lily": "^0.3.0", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.0.6", - "bn.js": "^5.2.0", - "cbor-x": "^0.8.3", - "lzjb-pack": "^0.2.0", - "prism-cli": "^0.5.3", - "prismjs": "^1.25.0", - "unfetch": "^4.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - } - } - }, - "@rollup/plugin-babel": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", - "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-commonjs": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", - "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.6.tgz", - "integrity": "sha512-sFsPDMPd4gMqnh2gS0uIxELnoRUp5kBl5knxD2EO0778G1oOJv4G1vyT2cpWz75OU2jDVcXhjVUuTAczGyFNKA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } - } - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/jquery": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.8.tgz", - "integrity": "sha512-cXk6NwqjDYg+UI9p2l3x0YmPa4m7RrXqmbK4IpVVpRJiYXU/QTo+UZrn54qfE1+9Gao4qpYqUnxm5ZCy2FTXAw==", - "dev": true, - "requires": { - "@types/sizzle": "*" - } - }, - "@types/node": { - "version": "16.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", - "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", - "dev": true, - "requires": {} - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansidec": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/ansidec/-/ansidec-0.3.4.tgz", - "integrity": "sha512-Ydgbey4zqUmmNN2i2OVeVHXig3PxHRbok2X6B2Sogmb92JzZUFfTL806dT7os6tBL1peXItfeFt76CP3zsoXUg==", - "dev": true - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "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 - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-lock": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.2.0.tgz", - "integrity": "sha512-81HzTQm4+qMj6PwNlnR+y9g7pDdGGzd/YBUrQnHk+BhR28ja2qv497NkQQc1KcKEqh/RShm07di2b0cIWVFrNQ==", - "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 - }, - "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": "0.0.2", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", - "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=", - "dev": true - }, - "benchmark": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", - "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bluebird": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", - "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", - "dev": true - }, - "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 - }, - "bops": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.7.tgz", - "integrity": "sha1-tKClqDmkBkVK8P4FqLkaenZqVOI=", - "dev": true, - "requires": { - "base64-js": "0.0.2", - "to-utf8": "0.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "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" - } - } - } - }, - "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" - } - }, - "browserslist": { - "version": "4.17.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz", - "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==", - "dev": true, - "peer": true, - "requires": { - "caniuse-lite": "^1.0.30001274", - "electron-to-chromium": "^1.3.886", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "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" - }, - "dependencies": { - "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 - } - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "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 - }, - "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true - }, - "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 - }, - "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "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" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001275", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001275.tgz", - "integrity": "sha512-ihJVvj8RX0kn9GgP43HKhb5q9s2XQn4nEQhdldEJvZhCsuiB2XOq6fAMYQZaN6FPWfsr2qU0cdL0CSbETwbJAg==", - "dev": true, - "peer": true - }, - "cbor-extract": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cbor-extract/-/cbor-extract-0.3.2.tgz", - "integrity": "sha512-euTSudP3MORNR9+DLDY6seMBZ5EA32CLdobmN5IjmU00zZDnim1zSZZAVrNubKfoBFhckDJFJXSx6zOLNbIYqw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.14.2", - "node-gyp-build": "^4.2.3" - } - }, - "cbor-x": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cbor-x/-/cbor-x-0.8.3.tgz", - "integrity": "sha512-tc/+0i31OpHEzPlztuhqpKF4dze/onFK6acJBiDDKLt5U3NY6snX0AVZinfl3PhMwJBy+0eYHEtBPBM8Wtr/cA==", - "dev": true, - "requires": { - "cbor-extract": "^0.3.1" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "chokidar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", - "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "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" - } - }, - "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-git-ref": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-1.0.3.tgz", - "integrity": "sha1-UyXcg56rAcl0rg6X9XNHgnUPiOw=", - "dev": true - }, - "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" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "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 - }, - "codemirror": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.46.0.tgz", - "integrity": "sha512-3QpMge0vg4QEhHW3hBAtCipJEWjTJrqLLXdIaWptJOblf1vHFeXLNtFhPai/uX2lnFCehWNk4yOdaMR853Z02w==", - "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-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "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" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "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-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 - }, - "crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "dev": true, - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.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", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "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-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "dev": true, - "requires": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - } - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "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 - }, - "debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==", - "dev": true - }, - "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" - } - }, - "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 - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "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" - } - }, - "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" - } - } - } - }, - "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" - } - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "diff": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz", - "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", - "dev": true - }, - "diff-lines": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/diff-lines/-/diff-lines-1.1.0.tgz", - "integrity": "sha1-S72SVxPgJ0d7zUIIG2hEkUexlkg=", - "dev": true, - "requires": { - "diff": "^2.2.3" - } - }, - "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" - } - }, - "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 - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "electron-to-chromium": { - "version": "1.3.888", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.888.tgz", - "integrity": "sha512-5iD1zgyPpFER4kJ716VsA4MxQ6x405dxdFNCEK2mITL075VHO5ResjY0xzQUZguCww/KlBxCA6JmBA9sDt1PRw==", - "dev": true, - "peer": 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" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "peer": 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 - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "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": "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" - } - }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "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": { - "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" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "expose-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", - "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", - "dev": true, - "requires": {} - }, - "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" - } - } - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "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-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.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" - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "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" - } - } - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "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" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "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", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "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", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "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", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "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", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "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", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "bundled": true, - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "bundled": true, - "dev": true, - "optional": 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", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "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", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "bundled": true, - "dev": true, - "optional": 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 - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "peer": 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-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" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "git-apply-delta": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/git-apply-delta/-/git-apply-delta-0.0.7.tgz", - "integrity": "sha1-+3auFEVA15RAtSsx3gPmPJk8chk=", - "dev": true, - "requires": { - "bops": "~0.0.6", - "varint": "0.0.3" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": 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" - } - }, - "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" - } - } - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "peer": true - }, - "globalyzer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", - "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", - "dev": true - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "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 - }, - "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-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "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" - } - }, - "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" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "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 - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.1.tgz", - "integrity": "sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "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", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "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 - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "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-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-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-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "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-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-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.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "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-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-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "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-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 - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "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 - }, - "isomorphic-git": { - "version": "0.54.2", - "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.54.2.tgz", - "integrity": "sha512-hAD1AOnD5M1ZtQdgMEN0rG755KfJRA3VRViYdiv+rormrhIgqQA7457fajk22a6Yp0dVd8O73bMW9+4ihLKidQ==", - "dev": true, - "requires": { - "async-lock": "^1.1.0", - "clean-git-ref": "1.0.3", - "crc-32": "^1.2.0", - "diff-lines": "^1.1.0", - "git-apply-delta": "0.0.7", - "globalyzer": "^0.1.0", - "globrex": "^0.1.2", - "ignore": "^5.0.4", - "marky": "^1.2.1", - "minimisted": "^2.0.0", - "nick": "^0.1.3", - "pako": "^1.0.7", - "pify": "^4.0.1", - "readable-stream": "^3.1.1", - "sha.js": "^2.4.9", - "simple-get": "^3.0.2" - } - }, - "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", - "dev": true - }, - "jquery.splitter": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/jquery.splitter/-/jquery.splitter-0.28.1.tgz", - "integrity": "sha512-pYeli464CAm3dIrhDXODPCZZBFc6HgCekmG7DSs02mxXiLYWlAMjQMcoAwnHEB9Y1H0seCvId2KKhH+0/b+PYQ==", - "dev": true - }, - "jquery.terminal": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.29.4.tgz", - "integrity": "sha512-ugzctBbbJmw3ZGIhYziBFEK8QnWAZy2q6sZUtmPgjni4ILg59tO0WJI9DkKiDZ4LQtdCVexQ5oP0J90jMN+TzA==", - "dev": true, - "requires": { - "@jcubic/lily": "^0.3.0", - "@types/jquery": "^3.5.6", - "ansidec": "^0.3.4", - "fsevents": "^2.3.2", - "iconv-lite": "^0.6.3", - "jquery": "^3.6.0", - "prismjs": "^1.25.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": 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, - "peer": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "peer": 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 - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "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" - } - }, - "jszip": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.1.tgz", - "integrity": "sha512-iCMBbo4eE5rb1VCpm5qXOAaUiRKRUKiItn8ah2YQQx9qymmSAY98eyQfioChEYcVQLh0zxJ3wS4A0mh90AVPvw==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "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" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.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" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lzjb-pack": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/lzjb-pack/-/lzjb-pack-0.2.0.tgz", - "integrity": "sha512-kq31VT9O9XoSR5kdXYglGDeDKgAfmu39MWrc7TzYVJBRT6UMc5PSYhkZHdqKiBFKVk9e5DWNyBF3Yji1GifD+Q==", - "dev": true - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "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" - } - }, - "marky": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.1.tgz", - "integrity": "sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==", - "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" - } - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "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", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minimisted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.0.tgz", - "integrity": "sha512-oP88Dw3LK/pdrKyMdlbmg3W50969UNr4ctISzJfPl+YPYHTAOrS+dihXnsgRNKSRIzDsrnV3eE2CCVlZbpOKdQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "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", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "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" - } - }, - "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "nick": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/nick/-/nick-0.1.3.tgz", - "integrity": "sha1-2KMLfaeJ1BfguqVDfzPEh76bYCA=", - "dev": true, - "requires": { - "benchmark": "^1.0.0" - } - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "dev": true, - "optional": 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" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true, - "peer": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "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-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-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.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" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "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-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" - } - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "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-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "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", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "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" - } - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true, - "peer": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "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": { - "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 - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" - } - }, - "postcss-modules-scope": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", - "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "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 - }, - "printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "dev": true - }, - "prism-cli": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/prism-cli/-/prism-cli-0.5.3.tgz", - "integrity": "sha512-8tuw/MmG/U3d74j5JTWvTI6quEV4G4a5vsso0LDaYBFEbPd1yN3V/VuOYk47IKS2Iuj8E7j1WPQAFCUEdULo3w==", - "dev": true, - "requires": { - "@jcubic/lily": "^0.1.0", - "prismjs": "^1.22.0", - "supports-color": "^7.2.0" - }, - "dependencies": { - "@jcubic/lily": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@jcubic/lily/-/lily-0.1.0.tgz", - "integrity": "sha512-kIsp4dmIUHn3YHIqFhEylY+mgI988KcYI8f19og7LqmLzkouPZNBip/oL8iemElie0gqx5CeQ5HxZv/SuNkOaA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "prismjs": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz", - "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==", - "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 - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "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": "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" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "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 - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "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" - } - }, - "readable-stream": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", - "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "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" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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" - } - }, - "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.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "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 - }, - "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 - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "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" - } - }, - "rollup": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz", - "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==", - "dev": true, - "peer": true, - "requires": { - "fsevents": "~2.3.2" - }, - "dependencies": { - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true, - "peer": true - } - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.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-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - }, - "serialize-javascript": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", - "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", - "dev": true - }, - "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-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "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 - }, - "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" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "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-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", - "dev": true - }, - "simple-get": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz", - "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==", - "dev": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.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": { - "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" - } - } - } - }, - "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" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "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 - }, - "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.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "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-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 - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "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" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.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" - } - } - } - }, - "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" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "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" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - } - }, - "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" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "dependencies": { - "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 - } - } - }, - "terser-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", - "dev": true, - "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "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 - } - } - }, - "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" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": 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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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" - } - }, - "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-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" - } - }, - "to-utf8": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", - "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=", - "dev": true - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "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 - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", - "dev": true - }, - "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 - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "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 - }, - "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 - }, - "varint": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/varint/-/varint-0.0.3.tgz", - "integrity": "sha1-uCHemwSzizzSL3LBjZSp+3KrNRg=", - "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" - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "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" - } - }, - "webpack": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz", - "integrity": "sha512-4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" - } - }, - "webpack-cli": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.1.tgz", - "integrity": "sha512-c2inFU7SM0IttEgF7fK6AaUsbBnORRzminvbyRKS+NlbQHVZdCtzKBlavRL5359bFsywXGRAItA5di/IruC8mg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "findup-sync": "^2.0.0", - "global-modules": "^1.0.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.5" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "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 - } - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "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 - }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "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": { - "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" - } - }, - "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" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "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": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "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" - } - } - } -} diff --git a/editor/package.json b/editor/package.json deleted file mode 100644 index 14b8f33f8..000000000 --- a/editor/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "editor", - "version": "0.1.0", - "description": "LIPS Scheme sanbox", - "main": "index.js", - "scripts": { - "build": "webpack" - }, - "keywords": [ - "editor", - "lisp" - ], - "author": "Jakub T. Jankiewicz (https://jcubic.pl/jakub-jankiewicz/)", - "license": "MIT", - "devDependencies": { - "@jcubic/lips": "^1.0.0-beta.15", - "codemirror": "^5.46.0", - "css-loader": "^2.1.1", - "debounce": "^1.2.0", - "expose-loader": "^0.7.5", - "isomorphic-git": "^0.54.2", - "jquery": "^3.4.1", - "jquery.splitter": "^0.28.1", - "jquery.terminal": "^2.29.4", - "jszip": "^3.2.1", - "prismjs": "^1.25.0", - "style-loader": "^0.23.1", - "wcwidth": "^1.0.1", - "webpack": "^4.30.0", - "webpack-cli": "^3.3.1" - } -} diff --git a/editor/src/a.js b/editor/src/a.js deleted file mode 100644 index 5eaea4100..000000000 --- a/editor/src/a.js +++ /dev/null @@ -1,14 +0,0 @@ -require('expose-loader?CodeMirror!codemirror/lib/codemirror'); -require('expose-loader?debounce!debounce'); -//require('expose-loader?LightningFS!../../lightning-fs'); -require('expose-loader?LightningFS!../lightning-fs.min.js'); -require("codemirror/lib/codemirror.css"); -require('codemirror/addon/scroll/simplescrollbars'); -require('codemirror/addon/scroll/simplescrollbars.css'); -require("codemirror/addon/edit/matchbrackets"); -['css', 'xml', 'javascript', 'htmlmixed'].forEach(function(mode) { - require(`codemirror/mode/${mode}/${mode}`); -}); -require('@jcubic/lips/lib/js/codemirror'); -require("codemirror/theme/twilight.css"); - diff --git a/editor/src/b.js b/editor/src/b.js deleted file mode 100644 index c16ffa857..000000000 --- a/editor/src/b.js +++ /dev/null @@ -1,11 +0,0 @@ -require('expose-loader?jQuery!jquery'); -require('jquery.terminal'); -require('jquery.terminal/css/jquery.terminal.min.css'); -require('jquery.splitter'); -require('jquery.splitter/css/jquery.splitter.css'); -require('expose-loader?git!isomorphic-git'); -require('expose-loader?Prism!prismjs'); -require('prismjs/components/prism-scheme.min'); -require('prismjs/themes/prism-coy.css'); -require('jquery.terminal/js/prism'); -require('expose-loader?JSZip!jszip'); diff --git a/editor/src/main.js b/editor/src/main.js deleted file mode 100644 index 7010bc5b0..000000000 --- a/editor/src/main.js +++ /dev/null @@ -1,10 +0,0 @@ -require('expose-loader?CodeMirror!codemirror/lib/codemirror'); -require('expose-loader?jQuery!jquery'); -require('jquery.terminal'); -require('jquery.terminal/css/jquery.terminal.min.css'); -require('jquery.splitter'); -require('jquery.splitter/css/jquery.splitter.css'); -require('expose-loader?Prism!prismjs'); -require('prismjs/components/prism-scheme.min'); -require('prismjs/themes/prism-coy.css'); -require('jquery.terminal/js/prism'); diff --git a/editor/style.css b/editor/style.css deleted file mode 100644 index 9d2cecf84..000000000 --- a/editor/style.css +++ /dev/null @@ -1,62 +0,0 @@ -body { - margin: 0; - padding: 0; -} -.container { - height: calc(100vh - 50px) !important; -} -.term, .code + .CodeMirror { - height: 100%; -} -.cloak { - visibility: hidden; -} -.navbar { - background: #ff6600; - -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.5); - box-shadow: 0 2px 5px rgba(0,0,0,0.5); -} -.navbar header { - position: relative; -} -.navbar nav { - position: absolute; - top: 50%; - left: 55px; - transform: translateY(-50%); -} -.logo img { - height: 30px; - margin: 8px; -} -.panels { - background: #1d1e22; - color: white; -} -.panels .wrapper { - height: calc(100% - 29px); -} -.panels header { - border-bottom: 1px solid rgba(255,255,255,0.05); - background: rgba(0,0,0,0.1); - padding: 5px; - color: #aaaebc; - font-family: arial; -} -.CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical { - background: transparent; -} -.CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div { - background: rgba(0,0,0,0.1); - border-radius: 5px; - margin-right: 2px; - border: 1px solid #aeaeae; -} -iframe { - border: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - display: block; -} diff --git a/editor/sw.js b/editor/sw.js deleted file mode 100644 index c6a49d935..000000000 --- a/editor/sw.js +++ /dev/null @@ -1,155 +0,0 @@ -/**@license - * ___ ___ _____ __ __ _ _____ _ _ - * / __|_ _|_ _| \ \ / /__| |__ |_ _|__ _ _ _ __ (_)_ _ __ _| | - * | (_ || | | | \ \/\/ / -_) '_ \ | |/ -_) '_| ' \| | ' \/ _` | | - * \___|___| |_| \_/\_/\___|_.__/ |_|\___|_| |_|_|_|_|_||_\__,_|_| - * - * this is service worker and it's part of GIT Web terminal - * - * Copyright (c) 2018 Jakub Jankiewicz - * Released under the MIT license - * - */ -/* global BrowserFS, Response, setTimeout, fetch, Blob, Headers */ -//self.importScripts('https://cdn.jsdelivr.net/npm/browserfs'); -self.importScripts('./lightning-fs.min.js'); -//https://unpkg.com/@isomorphic-git/lightning-fs@3.2.0/dist/lightning-fs.min.js'); - -self.addEventListener('install', self.skipWaiting); - -self.addEventListener('activate', self.skipWaiting); - -self.addEventListener('fetch', function (event) { - let fs = Promise.resolve(new LightningFS('fs')); - event.respondWith(fs.then(function(fs) { - return new Promise(function(resolve, reject) { - function sendFile(path) { - fs.readFile(path, function(err, buffer) { - if (err) { - err.fn = 'readFile(' + path + ')'; - return reject(err); - } - var ext = path.replace(/.*\./, ''); - var mime = { - 'html': 'text/html', - 'json': 'application/json', - 'js': 'application/javascript', - 'css': 'text/css' - }; - var headers = new Headers({ - 'Content-Type': mime[ext] - }); - resolve(new Response(buffer, {headers})); - }); - } - var url = event.request.url; - var m = url.match(/__browserfs__(.*)/); - function redirect_dir() { - return resolve(Response.redirect(url + '/', 301)); - } - function serve() { - fs.stat(path, function(err, stat) { - if (err) { - return resolve(textResponse(error404Page(path))); - } - if (stat.isFile()) { - sendFile(path); - } else if (stat.isDirectory()) { - if (path.substr(-1, 1) !== '/') { - //return redirect_dir(); - } - fs.readdir(path, function(err, list) { - if (err) { - err.fn = 'readdir(' + path + ')'; - return reject(err); - } - var len = list.length; - if (list.includes('index.html')) { - sendFile(path + '/index.html'); - } else { - listDirectory({fs, path, list}).then(function(list) { - resolve(textResponse(fileListingPage(path, list))); - }).catch(reject); - } - }); - } - }); - } - if (m) { - var path = m[1]; - if (path === '') { - return redirect_dir(); - } - console.log('serving ' + path + ' from browserfs'); - serve(); - } else { - if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') { - return; - } - //request = credentials: 'include' - fetch(event.request).then(resolve).catch(reject); - } - }); - })); -}); -// ----------------------------------------------------------------------------- -function listDirectory({fs, path, list}) { - return new Promise(function(resolve, reject) { - var items = []; - (function loop() { - var item = list.shift(); - if (!item) { - return resolve(items); - } - fs.stat(path + '/' + item, function(err, stat) { - if (err) { - err.fn = 'stat(' + path + '/' + item + ')'; - return reject(err); - } - items.push(stat.isDirectory() ? item + '/' : item); - loop(); - }); - })(); - }); -} - -// ----------------------------------------------------------------------------- -function textResponse(string, filename) { - var blob = new Blob([string], { - type: 'text/html' - }); - return new Response(blob); -} - -// ----------------------------------------------------------------------------- -function fileListingPage(path, list) { - var output = [ - '', - '', - '', - `

BrowserFS ${path}

`, - '
    ' - ]; - if (path.match(/^\/(.*\/)/)) { - output.push('
  • ..
  • '); - } - list.forEach(function(name) { - output.push('
  • ' + name + '
  • '); - }); - output = output.concat(['
', '', '']); - return output.join('\n'); -} - -// ----------------------------------------------------------------------------- -function error404Page(path) { - var output = [ - '', - '', - '', - '

404 File Not Found

', - `

File ${path} not found in browserfs`, - '', - '' - ]; - return output.join('\n'); -} diff --git a/editor/template/app.lips b/editor/template/app.lips deleted file mode 100644 index fdc10aec1..000000000 --- a/editor/template/app.lips +++ /dev/null @@ -1,4 +0,0 @@ -(let ((div (--> document (createElement "div"))) - (message "Hello, World!")) - (set-obj! div 'innerHTML message) - (--> (. document 'body) (appendChild div))) diff --git a/editor/template/index.html b/editor/template/index.html deleted file mode 100644 index a1c4036bd..000000000 --- a/editor/template/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - LIPS Demo app - - - - - - -

- - - - diff --git a/editor/webpack.config.js b/editor/webpack.config.js deleted file mode 100644 index 71e4ad593..000000000 --- a/editor/webpack.config.js +++ /dev/null @@ -1,26 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); - -module.exports = { - mode: "production", - entry: { - 'a': "./src/a.js", - 'b': "./src/b.js" - }, - output: { - filename: 'bundle-[name].js', - path: path.resolve(__dirname) - }, - module: { - rules: [ - { - test: () => true, - sideEffects: true - }, - { - test: /\.css$/, - use: ['style-loader', 'css-loader'] - } - ] - } -}; diff --git a/examples/app.lips b/examples/app.lips deleted file mode 100644 index 4d5bd9043..000000000 --- a/examples/app.lips +++ /dev/null @@ -1,50 +0,0 @@ -;; -*- scheme -*- -;; This is example hyperapp application written in LIPS -;; -;; This file is part of the LIPS - Simple lisp in JavaScript -;; Copyriht (C) 2019 Jakub T. Jankiewicz -;; Released under MIT license -;; - -(define h (.. hyperapp.h)) -(define app (.. hyperapp.app)) - -;; helper for this specific app - hyperapp action generator that create new state - -(define (update fn) - "(update fn) - - Function create new action that create new state with updated alist value - that is returned from function." - (lambda (value) - (lambda (state) - (let* ((alist (. state "counter")) - (old (cdr (assoc 'count alist)))) - (make-object :counter (alist->assign '() alist `((count . ,(fn old value))))))))) - - -;; ----------------------------------------------------------------------------- -;; MAIN APPLICATION CODE -;; ----------------------------------------------------------------------------- - -;; Hyper app actions -(define actions (make-object :up (update +) - :down (update -))) - - -;; inital state -(define state (make-object :counter '((count . 0)))) - -(define (Counter props) - (with-tags (:h1 () (concat "Counter: " (string (. props 'count)))))) - -(define (view state actions) - "hyperapp view" - (let ((counter (. state "counter"))) - (with-tags (:div () - (list (Counter (:count (cdr (assoc 'count counter)))) - (:button (:onclick (lambda () (--> actions (down 1)))) "-") - (:button (:onclick (lambda () (--> actions (up 1)))) "+")))))) - -;; main hyper app -(define main (app state actions view (--> document (querySelector "#app")))) diff --git a/examples/common.css b/examples/common.css deleted file mode 100644 index 9a429aa6b..000000000 --- a/examples/common.css +++ /dev/null @@ -1,49 +0,0 @@ -.tabs .panels > :not(.active) { - display: none; -} -.tabs ul { - list-style: none; - padding: 0; - margin: 0; - overflow: hidden; -} -.tabs .panels { - clear: both; -} -.tabs li { - display: block; - float: left; - position: relative; - border-radius: 10px 10px 0 0; -} -.tabs li:hover { -/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e5e5e5+0,ffffff+100 */ -background: #e5e5e5; /* Old browsers */ -background: -moz-linear-gradient(-45deg, #e5e5e5 0%, #ffffff 100%); /* FF3.6-15 */ -background: -webkit-linear-gradient(-45deg, #e5e5e5 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */ -background: linear-gradient(135deg, #e5e5e5 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ -} -.tabs li.active:after { - content: ''; - display: block; - border-bottom: 5px solid #295ee5; - position: absolute; - width: 100%; - bottom: 0; -} -.tabs li a { - text-decoration: none; - padding: 10px; - display: inline-block; - border: 1px solid black; - border-radius: 10px 10px 0 0; - border-bottom: none; -} -.tabs li + li a { - border-left: none; -} -code[class*="language-"], pre[class*="language-"] { - white-space: pre-wrap; - word-break: break-word; -} diff --git a/examples/defstruct.lips b/examples/defstruct.lips deleted file mode 100644 index 94992afc8..000000000 --- a/examples/defstruct.lips +++ /dev/null @@ -1,122 +0,0 @@ -;; -*- scheme -*- -;; LIPS macro to create structures -;; -;; Copyright (C) 2019 Jakub T. Jankiewicz -;; Released under MIT license -;; -;; the macro defstruct generate bunch of helper functions -;; to work with single type of structures like in Common Lisp -;; original macro was created for Guile Scheme -;; at the begging there are functions that were missing in LIPS -;; -;; when you call macro amd if name is `point` and -;; arguments are `x` and `y` it will create those functions: -;; -;; make-point -;; point-x -;; point-y -;; set-point-x! -;; set-point-y! -;; point? -;; -;; example usage: -;; -;; (defstruct user first-name last-name age) -;; (let ((user (make-user "John" "Doe" 26))) -;; (display (concat "name: " (user-first-name user) " " (user-last-name user))) -;; (display (concat "age: " (user-age user))) -;; (set-user-last-name! user "Smith") -;; (display (concat "set!: " (set-user-age! user (+ (user-age user) 1)))) -;; (display (concat "happy birthday you're now " (user-age user) " old")) -;; (display user)) -;; - -(define (length list) - "return length of the list" - (--> list (length))) - -(define (alist->object arg) - "Function create JavaScript object from AList" - (and (pair? arg) - (--> arg (toObject)))) - -(define (every fn list) - "return true if every element return true for a function applied to every element" - (== (length list) (length (filter fn list)))) - -(define (error symbol message) - "show error on terminal and console" - (nop (let ((msg (concat (symbol->string symbol) ": " message))) - ((. console "error") msg) - (let (($ (. window "jQuery"))) - (display $) - (if (not (or (null? $) (null? (. jQuery "terminal")))) - (let ((term ((.. jQuery.terminal.active)))) - (--> term (error msg)))))))) - -(define string-append concat) - -;; updated original code - -(define (make-name name) - "create struct constructor name." - (string->symbol (string-append "make-" (symbol->string name)))) - - -(define (make-getter name field) - "create filed acess function name." - (string->symbol (string-append (symbol->string name) "-" - (symbol->string field)))) - -(define (make-setter name field) - "create field setter function name." - (string->symbol (string-append "set-" - (symbol->string name) "-" - (symbol->string field) "!"))) - - -(define (make-predicate name) - "create predicate function name." - (string->symbol (string-append (symbol->string name) "?"))) - - -(define-macro (defstruct name . fields) - "Macro implementing structures in guile based on assoc list." - (let ((names (map (lambda (symbol) (gensym)) fields)) - (struct (gensym)) - (field-arg (gensym))) - `(if (not (every-unique ',fields)) - (error 'defstruct "Fields must be unique") - (begin - (define (,(make-name name) ,@names) - (map cons ',fields (list ,@names))) - ,@(map (lambda (field) - `(define (,(make-getter name field) ,struct) - (cdr (assoc ',field ,struct)))) fields) - ,@(map (lambda (field) - `(define (,(make-setter name field) ,struct ,field-arg) - (set-cdr! (assoc ',field ,struct) ,field-arg) - ,field-arg)) fields) - (define (,(make-predicate name) ,struct) - (and (struct? ,struct) - (let ((result true)) - (for-each (lambda (x y) - (if (not (eq? x y)) (set! result true))) - ',fields - (map car ,struct)) - result))))))) - - - -(define (unique item list) - "check if item ocour only once." - (== (length (filter (lambda (i) (eq? item i)) list)) 1)) - -(define (every-unique list) - "check if every element ocour only once." - (every (lambda (item) (unique item list)) list)) - - -(define (struct? struct) - "check if argument is structure (not that structures are alist)." - (and (pair? struct) (every pair? struct))) diff --git a/examples/helpers.lips b/examples/helpers.lips deleted file mode 100644 index 4bf129865..000000000 --- a/examples/helpers.lips +++ /dev/null @@ -1,529 +0,0 @@ -;; -*- scheme -*- -;; Helper functions and macros to be used with LIPS -;; -;; This file is part of the LIPS - Simple lisp in JavaScript -;; Copyriht (C) 2019 Jakub T. Jankiewicz -;; Released under MIT license -;; - -(define-macro (--> expr . code) - "Helper macro that simplify calling methods on objects. It work with chaining - - usage: (--> ($ \"body\") - (css \"color\" \"red\") - (on \"click\" (lambda () (display \"click\")))) - - (--> document (querySelectorAll \"div\")) - (--> (fetch \"https://jcubic.pl\") (text) (match /([^<]+)<\/title>/) 1) - (--> document (querySelectorAll \".cmd-prompt\") 0 \"innerText\")" - (let ((obj (gensym))) - `(let* ((,obj ,(if (and (symbol? expr) (not (null? (match /\./ (symbol->string expr))))) - `(.. ,expr) - `,expr))) - ,@(map (lambda (code) - (let ((name (gensym)) - (value (gensym))) - `(let* ((,name ,(cond ((quoted-symbol? code) (symbol->string (cadr code))) - ((pair? code) (symbol->string (car code))) - (true code))) - (,value (. ,obj ,name))) - ,(if (and (pair? code) (not (quoted-symbol? code))) - `(set! ,obj (,value ,@(cdr code))) - `(set! ,obj ,value))))) - code) - ,obj))) - -;; --------------------------------------------------------------------------------------- -(define (quoted-symbol? x) - "(quoted-symbol? code) - - Helper function that test if value is quoted symbol. To be used in macros - that pass literal code that is transformed by parser. - - usage: - - (define-macro (test x) - (if (quoted-symbol? x) - `',(cadr x))) - - (list 'hello (test 'world))" - (and (pair? x) (eq? (car x) 'quote) (symbol? (cadr x)) (null? (cddr x)))) - -;; --------------------------------------------------------------------------------------- -(define (single list) - "(single list) - - Function check if argument is list with single element" - (and (pair? list) (not (cdr list)))) - -;; --------------------------------------------------------------------------------------- -(define-macro (.. expr) - "(.. foo.bar.baz) - - Macro that gets value from nested object where argument is comma separated symbol" - (if (not (symbol? expr)) - expr - (let ((parts (split "." (symbol->string expr)))) - (if (single parts) - expr - `(. ,(string->symbol (car parts)) ,@(cdr parts)))))) - -;; --------------------------------------------------------------------------------------- -(define (dir obj) - "(dir obj) - - Function return all props on the object including those in prototype chain." - (if (null? obj) nil - (append (array->list ((. Object "getOwnPropertyNames") (unbind obj))) - (dir ((. Object "getPrototypeOf") (unbind obj)))))) - - -;; --------------------------------------------------------------------------------------- -(define (log . args) - "(log . args) - - Wrapper over console.log" - (apply (.. console.log) args)) - - -;; --------------------------------------------------------------------------------------- -(define (symbol->string s) - "(symbol->string symbol) - - Function convert LIPS symbol to string." - (if (symbol? s) - (let ((name (. s "name"))) - (if (string? name) - name - (--> name (toString)))))) - - -;; --------------------------------------------------------------------------------------- -(define (as.data obj) - "(as.data obj) - - Mark object as data to stop evaluation." - (if (object? obj) - (begin - (set-obj! obj 'data true) - obj))) - -;; --------------------------------------------------------------------------------------- -(define (string->symbol string) - "(string->symbol string) - - Function convert string to LIPS symbol." - (and (string? string) (as.data (new (. lips "LSymbol") string)))) - -;; --------------------------------------------------------------------------------------- -(define (value obj) - "(value obj) - - Function unwrap LNumbers and convert nil value to undefined." - (if (eq? obj nil) - undefined - (if (number? obj) - ((. obj "valueOf")) - obj))) - -;; --------------------------------------------------------------------------------------- - -(define-macro (define-global first . rest) - "(define-global var value) - (define-global (name . args) body) - - Macro that define functions or variables in global context, so they can be used - inside let and get let variables in closure, Useful for universal macros." - (if (pair? first) - (let ((name (car first))) - `(--> (. lips 'env) - (set ,(symbol->string name) (lambda ,(cdr first) ,@rest)))) - `(--> (. lips 'env) (set ,(symbol->string first) ,(car rest))))) - -;; --------------------------------------------------------------------------------------- -(define-macro (globalize expr . rest) - "(globalize expr) - - Macro will get the value of the expression and add each method as function to global - scope." - (let* ((env (current-environment)) - (obj (eval expr env)) - (name (gensym)) - (env-name (gensym)) - (make-name (if (pair? rest) - (let ((pre (symbol->string (car rest)))) - (lambda (name) (string->symbol (concat pre name)))) - string->symbol))) - `(let ((,name ,expr)) - ,@(filter pair? - (map (lambda (key) - (if (and (not (match /^_/ key)) (function? (. obj key))) - (let* ((args (gensym))) - `(define-global (,(make-name key) . ,args) - (apply (. ,name ,key) ,args))))) - (array->list (--> Object (keys obj)))))))) - -;; --------------------------------------------------------------------------------------- -(define (alist->object alist) - "(alist->object alist) - - Function convert alist pairs to JavaScript object." - (if (pair? alist) - ((. alist "toObject")))) - -;; --------------------------------------------------------------------------------------- -(define-macro (promise . body) - "(promise . body) - - Anaphoric macro that expose resolve and reject functions from JS promise" - `(new Promise (lambda (resolve reject) - (try (begin ,@body) - (catch (e) - (error (.. e.message))))))) - -;; --------------------------------------------------------------------------------------- -(define (parent.frames) - "(parent.frames) - - Funcion return list of environments from parent frames (lambda function calls)" - (let iter ((result '()) (frame (parent.frame 2))) - (if (null? frame) - result - (let ((parent.frame (--> frame (get 'parent.frame (make-object :throwError false))))) - (if (function? parent.frame) - (iter (cons frame result) (parent.frame)) - result))))) - -;; --------------------------------------------------------------------------------------- -(define-macro (timer time . body) - "(timer time . body) - - Macro evaluate expression after delay, it return timer. To clear the timer you can use - native JS clearTimeout function." - `(setTimeout (lambda () (try (begin ,@body) (catch (e) (error (.. e.message))))) ,time)) - -;; --------------------------------------------------------------------------------------- -(define-macro (wait time . expr) - "(wait time . expr) - - Function return promise that will resolve with evaluating the expression after delay." - `(promise (timer ,time (resolve (begin ,@expr))))) - -;; --------------------------------------------------------------------------------------- -(define (pair-map fn seq-list) - "(pair-map fn list) - - Function call fn argument for pairs in a list and return combined list with - values returned from function fn. It work like the map but take two items from list" - (let iter ((seq-list seq-list) (result '())) - (if (null? seq-list) - result - (if (and (pair? seq-list) (pair? (cdr seq-list))) - (let* ((first (car seq-list)) - (second (cadr seq-list)) - (value (fn first second))) - (if (null? value) - (iter (cddr seq-list) result) - (iter (cddr seq-list) (cons value result)))))))) - - -;; --------------------------------------------------------------------------------------- -(define (object-expander expr) - "(object-expander '(:foo (:bar 10) (:baz (1 2 3)))) - - Recursive function helper for defining LIPS code for create objects using key like syntax." - (let ((name (gensym))) - `(let ((,name (alist->object '()))) - ,@(pair-map (lambda (key value) - (if (not (key? key)) - (error (concat (type key) " " (string key) " is not a string")) - (let ((prop (key->string key))) - (if (and (pair? value) (key? (car value))) - `(set-obj! ,name ,prop ,(object-expander value)) - `(set-obj! ,name ,prop ,value))))) - expr) - ,name))) - -;; --------------------------------------------------------------------------------------- -(define-macro (make-object . expr) - "(make-object :name value) - - Macro that create JavaScript object using key like syntax." - (object-expander expr)) - - - -;; --------------------------------------------------------------------------------------- -(define (alist->assign desc . sources) - "(alist->assign alist . list-of-alists) - - Function that work like Object.assign but for LIPS alist." - (for-each (lambda (source) - (for-each (lambda (pair) - (let* ((key (car pair)) - (value (cdr pair)) - (d-pair (assoc key desc))) - (if (pair? d-pair) - (set-cdr! d-pair value) - (append! desc (list pair))))) - source)) - sources) - desc) - -;; --------------------------------------------------------------------------------------- -(define (key? symbol) - "(key? symbol) - - Function check if symbol is key symbol, have colon as first character." - (and (symbol? symbol) (eq? ":" (substring (symbol->string symbol) 0 1)))) - -;; --------------------------------------------------------------------------------------- -(define (key->string symbol) - "(key->string symbol) - - If symbol is key it convert that to string - remove colon." - (if (key? symbol) - (substring (symbol->string symbol) 1))) - -;; --------------------------------------------------------------------------------------- -(define-macro (define-symbol-macro spec . rest) - "(define-symbol-macro (name . args) . body) - - Macro that creates special symbol macro for evaluator similar to build in , or `. - It's like alias for real macro. Similar to CL reader macros but it receive already - parsed code like normal macros." - ;; this is executed in two different ways one when there are no macro and the other - ;; if there is macro defined, in second case it will put list as first element - ;; of the body even is it's called like this (define-symbol-macro (# code) - (let* ((name (car spec)) - (symbol (cadr spec)) - (args (cddr spec))) - `(begin - (add-special! ,symbol ',name) - (define-macro (,name ,@args) ,@rest)))) - -;; --------------------------------------------------------------------------------------- -(define-symbol-macro (make-vector "#" arg) - "(make-vector (1 2 3)) - #(1 2 3) - - Macro for defining vectors (arrays)." - `(list->array (list ,@arg))) - -;; --------------------------------------------------------------------------------------- -(define-macro (module name . body) - "(module module-name . body) - - Macro for defining modules inside you can use define to create functions. - And use export name to add that name to defined environment." - (let ((parent (. (current-environment) 'parent)) - (module-name (gensym))) - `(let ((,module-name (new (. lips 'Environment) (concat "module-" ,(symbol->string name))))) - (define-macro (export name) `(--> ,,module-name (set ',name ,name))) - ,@body - (--> ,parent (set ',name ,module-name))))) - -;; --------------------------------------------------------------------------------------- -(define-macro (import name module) - "(input function-name module) - - Macro for importing function from module" - `(define ,name (--> ,module (get ',name)))) - -;; --------------------------------------------------------------------------------------- -(define-macro (cond . list) - "(cond (predicate? . body) - (predicate? . body)) - - Macro for condition check. For usage instead of nested ifs." - (if (pair? list) - (let* ((item (car list)) - (first (car item)) - (forms (cdr item)) - (rest (cdr list))) - `(if ,first - (begin - ,@forms) - ,(if (and (pair? rest) - (or (eq? (caar rest) true) - (eq? (caar rest) 'else))) - `(begin - ,@(cdar rest)) - (if (not (null? rest)) - `(cond ,@rest))))) - nil)) - -;; --------------------------------------------------------------------------------------- -(define (tree-map f tree) - "(tree-map fn tree) - - Tree version of map. Function is invoked on every leaf." - (if (pair? tree) - (cons (tree-map f (car tree)) (tree-map f (cdr tree))) - (f tree))) - -;; --------------------------------------------------------------------------------------- -(define (native.number x) - "(native.number obj) - - If argument is number it will conver to native number." - (if (number? x) - (value x) - x)) - -;; --------------------------------------------------------------------------------------- -(define-macro (define-formatter-rule . patterns) - "(rule-pattern pattern) - - Anaphoric Macro for defining patterns for formatter. With Ahead, Pattern and * defined values." - (let ((rules (gensym))) - `(let ((,rules (.. lips.Formatter.rules)) - (Ahead (lambda (pattern) - (let ((Ahead (.. lips.Formatter.Ahead))) - (new Ahead (if (string? pattern) (new RegExp pattern) pattern))))) - (* ((.. Symbol.for) "*")) - (Pattern (lambda (pattern flag) - (new (.. lips.Formatter.Pattern) (list->array pattern) - (if (null? flag) undefined flag))))) - ,@(map (lambda (pattern) - `(--> ,rules (push (tree->array (tree-map native.number ,@pattern))))) - patterns)))) - -;; --------------------------------------------------------------------------------------- -(define (compare a b) - "(compare a b) - - Function that compare two values. it compare lists and any element of the list - can be a function that will be called with other value. e.g.: - (compare (list (list 'a) 'b) (list pair? 'b))" - (cond ((and (pair? a) (pair? b)) (and (compare (car a) (car b)) - (compare (cdr a) (cdr b)))) - ((and (array? a) (array? b)) (compare (array->list a) (array->list b))) - ((and (object? a) (object? b)) - (compare (array->list (--> Object (keys a))) - (array->list (--> Object (keys b))))) - ((eq? (type a) (type b)) (eq? a b)) - ((and (function? a) (not (function? b))) - (a b)) - ((and (not (function? a)) (function? b)) - (b a)) - (true false))) - -;; --------------------------------------------------------------------------------------- -(define-macro (auto-quote arg) - "(auto-quote list) - - Macro that create list recursively but take symbols from scope" - (if (pair? arg) - `(list ,@(map (lambda (item) - (if (symbol? item) - item - (if (pair? item) - `(auto-quote ,item) - `,item))) - arg)) - arg)) - -;; --------------------------------------------------------------------------------------- -(define-macro (match-pattern expr . list) - "(match-patternpattern ((pattern . body) ...)) - - Pattern matching macro. examples: - (match-pattern (1 (pair? pair?) 2) ((1 (() ()) 2) (display \"match\"))) - ;; match - (match-pattern (1 (pair? pair?) 2) ((1 (()) 2) (display \"match\"))) - (match-pattern (1 (pair? pair?) 2) ((1 (()) 2) (display \"match\")) (true \"rest\")) - ;; rest" - (if (pair? list) - (let ((ex-name (gensym))) - `(let ((,ex-name (auto-quote ,expr))) - (cond ,@(map (lambda (item) - (if (eq? (car item) true) - `(true ,(cadr item)) - `((compare ,ex-name (auto-quote ,(car item))) ,(cadr item)))) - list)))))) - -;; --------------------------------------------------------------------------------------- -(define (defmacro? obj) - "(defmacro? expression) - - Function check if object is macro and it's expandable" - (and (macro? obj) (. obj 'defmacro))) - - -(define (assocv key alist) - "(assocv key alist) - - Return value of alist if found or undefined of not." - (let ((pair (assoc key alist))) - (if (pair? pair) (cdr pair) undefined))) - -;; --------------------------------------------------------------------------------------- -;; formatter rules for cond to break after each S-Expression -;; regex literal /[^)]/ breaks scheme emacs mode so we use string and macro use RegExp constructor -(define-formatter-rule ((list (list "(" "cond" (Pattern (list "(" * ")") "+")) 1 (Ahead "[^)]")))) - - -;; --------------------------------------------------------------------------------------- -;; LIPS Object System -;; --------------------------------------------------------------------------------------- - -(define (class-lambda expr) - "(class-lambda expr) - - Return lambda expression where input expression lambda have `this` as first argument." - (let ((args (cdadadr expr))) - `(lambda (,@args) - (,(cadr expr) this ,@args)))) - -;; --------------------------------------------------------------------------------------- -(define-macro (define-class name parent . body) - "(define-class name parent . body) - - Define class - JavaScript function constructor with prototype." - (let iter ((functions '()) (constructor nil) (lst body)) - (if (not (null? list)) - (if (not (eq? (caar lst) 'constructor)) - (iter (cons (car lst) functions) nil (cdr lst)) - (let* ((functions (append functions (cdr lst))) - (constructor (car lst))) - `(begin - (define ,name ,(class-lambda constructor)) - (--> Object (defineProperty ,name "name" (make-object :value - ,(symbol->string name)))) - ,(if (not (null? parent)) - `(set-obj! ,name 'prototype (--> Object (create ,parent)))) - ,@(map (lambda (fn) - `(set-obj! (. ,name 'prototype) ',(car fn) ,(class-lambda fn))) - functions))))))) - -;; --------------------------------------------------------------------------------------- -(define-class Person nil - (constructor (lambda (self name) - (set-obj! self 'name name))) - (get-name (lambda (self) - (. self 'name))) - (set-name (lambda (self name) - (set-obj self 'name name)))) - -;; --------------------------------------------------------------------------------------- -(define (make-tags expr) - "(make-tags expression) - - Function that return list structure of code with better syntax then raw LIPS" - `(h ,(let ((val (car expr))) (if (key? val) (key->string val) val)) - (alist->object (,'quasiquote ,(pair-map (lambda (car cdr) - `(,(key->string car) . (,'unquote ,cdr))) - (cadr expr)))) - ,(if (not (null? (cddr expr))) - (if (and (pair? (caddr expr)) (let ((s (caaddr expr))) - (and (symbol? s) (eq? s 'list)))) - `(list->array (list ,@(map make-tags (cdaddr expr)))) - (caddr expr))))) - -;; --------------------------------------------------------------------------------------- -(define-macro (with-tags expr) - "(with-tags expression) - - Macro that evalute LIPS shorter code for S-Expression equivalent of JSX" - (make-tags expr)) diff --git a/examples/hyper.html b/examples/hyper.html deleted file mode 100644 index fcbbf68ae..000000000 --- a/examples/hyper.html +++ /dev/null @@ -1,19 +0,0 @@ -<!DOCTYPE HTML> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta charset="utf-8" /> - <title>Demo LIPS Hyperapp app - - - - - - - -
- - - - diff --git a/examples/index.html b/examples/index.html deleted file mode 100644 index 72af4211e..000000000 --- a/examples/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - HyperApp LIPS Demo - - - - - - - - - - - - - - - - - - - - - - - -
-

Hyperapp LIPS demo

-
- -
-
-

README

-

- This is example applictation using Hyperapp - together with LIPS interpter. Main application code is in app.lips file. The - rest of the files are just helper macros and functions. -

-

This demo

-

- This page is created using jQuery code and in JavaScript but the hyper app is created using only - LIPS code. It's inserted into iframe. Terminal on this is page can interact with lips instance - from iframe.

-

Playing with terminal

-

You can execute example codes:

-

-;; this will call up method on main app object
-;; --> is macro defined in helpers.lips
-(--> main (up 10))
-      
-

Hyperapp

-

LIPS code for the hyperapp is based on example from readme. I've used direct calls of h function in form:

-

-import { h } from "hyperapp"
-
-export const view = (state, actions) =>
-  h("div", {}, [
-    h("h1", {}, state.count),
-    h("button", { onclick: () => actions.down(1) }, "-"),
-    h("button", { onclick: () => actions.up(1) }, "+")
-  ])
-      
-
-
-
-
    -
    -
    -
    -
    -
    -
    - - diff --git a/examples/prism.js b/examples/prism.js deleted file mode 100644 index 43104fc75..000000000 --- a/examples/prism.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This is file that extend scheme PrismJS sytnax to work better with LIPS - * This file is part of LIPS interpreter - * Copyright (C) Jakub T. Jankiewicz - * - */ -/* global Prism */ - -// extend scheme syntax in PrismJS to inlcude regular expressions -Prism.languages.insertBefore('scheme', 'character', { - regex: { - pattern: /\/(?! )[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimy]*(?=\s|\(|\)|$)/g, - greedy: true - } -}); -// symbols -Prism.languages.insertBefore('scheme', 'string', { - symbol: { - pattern: /'[^\s()]+/g, - greedy: true - } -}); - -// and define-macro as keyword (update original regex) don't need most of it -Prism.languages.scheme.keyword.pattern = /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|define-macro|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/; diff --git a/examples/reader-macros.js b/examples/reader-macros.js deleted file mode 100644 index e1239fafc..000000000 --- a/examples/reader-macros.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * This is example how you can extend LIPS parser using reader macros - * - * This is part of the LIPS JavaScript interpter - * Copyriht (C) Jakub T. Jankiewicz - * Released under MIT license - */ -/* global lips */ -(function() { - const { env, specials, Symbol, Pair, Macro, evaluate, LNumber } = lips; - // new vector type #(1 2 3) will create new array - // you can use any expression inside that will evalute to list that in turn will be - // converter to array by the macro. Parser will convert #(1 2 3) into (vector (1 2 3)) - // so vector need to be LIPS macro - specials['#'] = Symbol('vector'); - env.set('vector', new Macro('vector', function(code, { dynamic_scope, error }) { - const args = { env: this, error }; - if (dynamic_scope) { - args.dynamic_scope = this; - } - var wrap = new Pair(new Symbol('list'), code.car); - return this.get('list->array')(evaluate(wrap, args)); - })); - - // new Alist ot object syntax you use is like this: - // {}((foo . 10)) it will also evalute all pairs expressions like: - // {}(((concat "foo" "-" "bar") . (+ 2 1))) it will create obect {"foo-bar": 3} - specials['{}'] = Symbol('make-object'); - env.set('make-object', new Macro('make-object', function(code, { dynamic_scope, error }) { - const args = { env: this, error }; - if (dynamic_scope) { - args.dynamic_scope = this; - } - return code.car.map((pair) => { - const [car, cdr] = [pair.car, pair.cdr].map(obj => { - if (obj instanceof Pair) { - return evaluate(obj, args); - } - return obj; - }).map(obj => { - // unwrap LNumbers - if (obj instanceof LNumber) { - return obj.valueOf(); - } - return obj; - }); - return new Pair(car, cdr); - }).toObject(); - })); - env.set('object->string', function(obj) { - return JSON.stringify(obj); - }); -})(); diff --git a/examples/terminal.js b/examples/terminal.js deleted file mode 100644 index 3322b8a9e..000000000 --- a/examples/terminal.js +++ /dev/null @@ -1,179 +0,0 @@ -/** - * This is example of usuage of LIPS interprter with jQuery Terminal - * - * Copyright (C) Jakub T. Jankiewicz - * Released under MIT license - */ -/* global jQuery, clearTimeout, setTimeout */ - -function terminal({selector, lips, dynamic = false, name = 'terminal'}) { - var position; - var timer; - var help = lips.env.get('help'); - function doc(fn, doc) { - fn.__doc__ = doc; - return fn; - } - // ------------------------------------------------------------------------- - var env = lips.env.inherit(name, { - stdout: { - write: function() { - var args = Array.from(arguments); - args.forEach(function(arg) { - term.echo(arg, {formatters: false}); - }); - } - }, - // --------------------------------------------------------------------- - stdin: { - read: function() { - return term.read(''); - } - }, - // --------------------------------------------------------------------- - help: doc(new lips.Macro('help', function(code, { error }) { - const { evaluate, Pair, LSymbol, nil } = lips; - var new_code = new Pair(new LSymbol('__help'), code); - var doc = evaluate(new_code, { env: this, error }); - term.echo(doc, { formatters: false }); - }), lips.env.env.help.__doc__), - // --------------------------------------------------------------------- - error: doc(function(message) { - term.error(message); - }, lips.env.env.error.__doc__) - }); - // hack so (let ((x lambda)) (help x)) - env.env.__help = lips.env.env.help; - // ------------------------------------------------------------------------- - var term = jQuery(selector).terminal(function(code, term) { - // format before executing mainly for strings in function docs - code = new lips.Formatter(code).format(); - lips.exec(code, env, dynamic).then(function(ret) { - ret.forEach(function(ret) { - if (ret !== undefined) { - env.get('display').call(env, ret); - } - }); - }).catch(function(e) { - term.error(e.message || e); - if (e.code) { - term.error(e.code.map((line, i) => `[${i+1}]: ${line}`).join('\n')); - } - }); - }, { - name, - prompt: 'lips> ', - enabled: false, - greetings: false, - keymap: { - ENTER: function(e, original) { - if (lips.balanced_parenthesis(this.get_command())) { - original(); - } else { - var code = term.before_cursor(); - var prompt = this.get_prompt(); - var formatter = new lips.Formatter(code); - var i = formatter.indent({ - indent: 2, - offset: prompt.length - }); - console.log({i, x: prompt.length}); - this.insert('\n' + (new Array(i + 1).join(' '))); - } - } - }, - onPaste: function(e) { - if (e.text) { - var code = e.text; - var prompt = this.get_prompt(); - try { - var formatter = new lips.Formatter(code); - var output = formatter.format({ - offset: prompt.length - }); - } catch(e) { - // boken LIPS code - output = code; - } - return Promise.resolve(output); - } - }, - keydown: function() { - if (position) { - term.set_position(position); - position = false; - } - }, - mobileIngoreAutoSpace: [',', '.', ')'], - completionEscape: false, - wordAutocomplete: false, - doubleTab: function(string, maches, echo_command) { - echo_command(); - this.echo(maches.map(command => { - return lips.tokenize(command).pop(); - })); - }, - completion: function(string) { - let tokens = lips.tokenize(this.before_cursor(), true); - tokens = tokens.map(token => token.token); - // Array.from is need to for jQuery terminal version <2.5.0 - // when terminal is outside iframe and lips is inside - // jQuery Terminal was using instanceof that don't work between iframes - if (!tokens.length) { - return Array.from(env.get('env').apply(env).toArray()); - } - const last = tokens.pop(); - if (last.trim().length) { - const globals = Object.getOwnPropertyNames(window); - const prefix = tokens.join(''); - const re = new RegExp('^' + jQuery.terminal.escape_regex(last)); - var commands = env.get('env').apply(env).toArray().concat(globals).filter(name => { - return re.test(name); - }).map(name => prefix + name); - return Array.from(commands); - } - }, - keydown: function(e) { - var term = this; - term.set_position(position); - if (e.key == ')') { - setTimeout(function() { - position = term.get_position(); - var command = term.get_command().substring(0, position); - var len = command.split(/\n/)[0].length; - var tokens = lips.tokenize(command, true); - var count = 1; - var token; - var i = tokens.length - 1; - while (count > 0) { - token = tokens[--i]; - if (!token) { - return; - } - if (token.token === '(') { - count--; - } else if (token.token == ')') { - count++; - } - } - if (token.token == '(' && count === 0) { - clearTimeout(timer); - setTimeout(function() { - var offset = token.offset; - term.set_position(offset); - timer = setTimeout(function() { - term.set_position(position); - position = false; - }, 200); - }, 0); - } - }, 0); - } else { - position = false; - } - } - }); - term.env = env; - env.set('term', term); - return term; -} diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 96d3eb6720ef22d2a4e67483192dbfe1330b785a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 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 diff --git a/favicon/android-chrome-512x512.png b/favicon/android-chrome-512x512.png deleted file mode 100644 index 8fb6343229b88c2ecf807d20de668652dbaa6b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6523 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 diff --git a/favicon/apple-touch-icon.png b/favicon/apple-touch-icon.png deleted file mode 100644 index be3f4c6f3f43e920fa2fd576aaaabbe45042393a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2588 zcmZ`)c{J1w7yjWj$`Un74Q0G!36o_KCV7b%q=>R*$ugEO7{<~fvJ@Hnl3i5ZMwVz% z%Fb&yv{1=X_9gr7e$)5g_n!0JbMAf4z2`pX`R6WoFBs}@VmJ{5;UVg388fl`x9?(O zMo#n!Ga`SGG|p)tNGXkL%Z{CyW9@Z~&ml;lID!P+~eB}^i(iTBfQxQaf zoKb0X3PD&yE*O|-gA)QIR>-o3?=3LY4yh)PX$6C=@Gc&hwzC8AdT?77UPr-WcW8eK zwP}!J2R9{Qa}D0oU~LfsgyCBwM4W^$Mfg|=g`Uv!0=l0=whefpVR;VjC_tzj%#VRP zH@r`Tb~?NWgIiLty$L(pu(1jOSYVVxQ!X^+LCa&fcM7&PAW#H?L?Kij`fH#*0~)d+ z_AJ~w22rP>y9~b8Ly8eZsljk33^c>HCP=*q$rm8z3`~6k5(|v?!RL2SM1`k5a90(2 zUjan`eD=fUI<)-_!P3x>1vG7_Nd>QcFf{rfH|{}jN+3fz!@(T|XB20s|kQvq*d;dwB`Xu|duq??1=ZgAy*{#y7{1+7ou z*C>>Sz{)Rh{sW@bp^yyjT;R3~S{}jJCz$*St%a~S1&IcbbRJTS!T$(6^9N@(m>q_> zAMmvSrUzku9IE1gDg?y=5Pkw4xj~X4WLiR=1LR(XTzkl{fP828+Z*DEK+}Ra9eCsl z1ul?d3yJ68@ihp;!<+l?>MppV;7c7WOu%pl)TM(T2GUG{PJ!l!(EAd~Zb76nEYHG2 zM+jE}>S6E`1m8pO;1cw`hrVi9m;@Jg=qQ5w8c_QH?h?R*2UZv0p%eVg#Cjp6@G| zW+uDIy5>Fzf=T%8EbBiEUoeXt6yiB;j$u}z{St(5N*r?+*f)t<8YcezGZ_<>rl$N6 ztJ<|IzR2yT*fhOF>yk1{lSkr(zEWsXB&xiZzei4{C)Oa{Ilr4OBaK$X7vcqr=;Z;k zAk|?#HCe|tBkESPnEP>V@%3C_w&LtO=3%!p9&`WfzhR4nZpFmjzzE|cf^07tSZz?; z+^_Qqxc^ee6SVpRoT>ZMTf{|}9U}!yJ$pS2c_3C@852$p?J(e>v{~RczrpU|LMsmO* zqnc7KYunoPD$g=o`!aouX>$cN%wKv*IDQx z3g$A5mwn{JqaVmtF3>_Rjb=MpLCpDvlUC!oIe>ql5hz+TmU2yE5$k8#E2} zbQk!{pE&c^{IhW~5upR%?kTJr_{+HPRiqlSrla zpoMIYMgFDAlhD56o`>J#XaRI(^GdXvkpy~Gq*=YrAh`pt_C){M!rpQl>%d!UPdDa> zG?p&H0;7a3*LE;Uf+M*6SouEL=quYd?KRfKLnXLM z$KNm*4Y|?*Jr=x@a~H%-F+s$+inszV*i(4IjVLZ?xK?%S&E5<|Om1gYf52^cS&Lr)5$PPEYdn z9YD?8ab4M#G$$*)8=_|M5<2{o8?!Q$%vyb;Z8lOxJ)On{SGc)j3shg%%t)mXDhV#* zHPfRg;fTu-%^&xe#gUgRt*5Eq3D0h+SiEOV@6a@OpP|QD=R3NQ{^x4qcy@Px!XJ@BSQJTP{#QAkW{7^-(&kjyl@X z=QmhHzEYRe9>N&SneyMRZ`kZxPVL({p1-=a&tyG`YwX?N`+ro^U*u@75Cmpv9{mSO z-D6VAMsA7k4A=P{eerB>Rj$Zkdi%gZuLbLWpWpx9YRu1Yl%j1$ zaj>H}s@i)yG67MLlUJ6NQ;=0qHc^mQRa8+up&~6OuPP@e#ly|V-j3{u^YkXA&z{0Cn=S{Mm{E-Fs93VMr<2Py zM=T|P?1*(CQ|uAMKVxKpdzaTGNy(P;t!>1g#t54z7tWpwEsEAp;AcZ)wSw_=4s4>& qO|Y$>dzV@h#T7z|S^l-?ez+TFN=7}Vx1VYp{)Ox0A8}c7{%0-C) diff --git a/favicon/browserconfig.xml b/favicon/browserconfig.xml deleted file mode 100644 index 7352d32dd..000000000 --- a/favicon/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #ff6600 - - - diff --git a/favicon/favicon-16x16.png b/favicon/favicon-16x16.png deleted file mode 100644 index f6a62032fb1d33c9f4de7c0342ffc2746bfee9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 627 zcmeAS@N?&q;$mQ6;Pv!y2?EjrAk4uGBsFyTgMk!Fx}&cn1H;CC?mvmFK)ynLqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-A6b1N%xc*OL_}{4ee^cH6 z2JQbx=lw5}`k%%2Ka=(Uk-7hKdH!GA{C`2h|7ijLFKzjs$M?V0`2WG_|65J|_c;9D z(fPl}{(qI?|Ff(A-`My6*n^t7&qK4tP5=R zF12O0W9AQu^!Tp9HtEaUO)<`abpc^gubwq8yL#a(S6d;|ubFb4tUIR2BpL2sBVBr% zS4REouD9Q+7%Jy5H<=v1^BQQIYKdz^NlIc#s#S7PDv)9@GBC8zH89dOvIsFUv@$WU zGBDCMFtjo-*t|F+07XM?eoAIqC2kFe{#|$j)F276Aviy+q&%@Gm7%=6TrV>(yEr+q zAXP8FD1G)j8!4co@T!oAlAy$Lg@U5|w9K4Tg_6pGRE5lfl4J&kiaC!z@o*G|X=t4C zKYhmYX%GXmGPhnbx3IFX_hb=fVFi~4lfx;@%9}$JPT#n4;>ejJGDp}?H+U@Y(qnif WE?Dx($#g2v3Id5PGFCJL6mC^}l(&wRi(+Ud-O z61og9^Mw@%Mp4lc5=12gDnW``BZ(3;DubyN#dI@1K+Zn?+#kEiy(jmcdvbGbWlnZ# z(2^iRNT@PRp39p1=?Q0|!^D(PG7U8rK~7DFGkef{Dd`5$<0{ z&rv++f^8Mpu&qXC6&??u^mFW6jK?=&%X$?ktQ6|8T@z3?D zy{zAW!i-dT_@YiS%r^7PY1^&r|E|ntK*ZBqE7>8RR%R*qqny|%At(O@kLAfdr94F? z@jUY8h4oM&bDz}iJTm8N;C5}uvE z?9>!jTx}8bCkr#J5}9>j!?lRG_4St=THlDWraEUq7I^@Xm8 zT2RNdUrJ}~t)La#Xsw#oNi`N73q(vMN)jk>f>@#wCrXnjDJ5P*B}yr(t+6QQKZ5T} zTBE+~{{=lW-U(K)c=o~;lb&YO79C+2Mr176ZPlpFI+4j@IR1LW5_T!CT(ynPRWky! z#iTdx(Fy1>vrb?%(;7lbPyFc*3EaC?C>+@28B~tv5^h|uND~|x7nxDBkQ*tG+mm{= r+_*NC!1G|J-#zG#b@M&;G-tYq_+lbxzieF{dx9tx+476BUHkt9vt@Yr diff --git a/favicon/favicon.ico b/favicon/favicon.ico deleted file mode 100644 index 48e0599e3f817fbefbd57fa01e481e6ffb2537f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7406 zcmeHL32anV6g_RH?e9L_*I%YkN?F?evXmAWT3Xgp0Vz*h*aT&B13?860TB!c0VFD7 z0zv{Ri=Zq97l*YA0#|cw565jcYF!*`GiamtgUlLZoPnflpu=Ybj^#a1d6NLOJghSlF za*)t{5#ii+l@w&C*Euaf)Z>t|VfF)XBBePbc z1!Su>hHxvC$?nyAoTKZ2DgQuzipT7~xd(X59em3OlQ724|)*bqf3pUZd)C6~Rv zj@2nr`N7^xwAVMVJ5-(W-I=DowYK`?3f4!}DIaw=Yih-|`c|x*@II&+4y`T>gbbr+^-wz)LT=O(xW?^O=+FPn z2?(9);#R}Wqf;F`QOnY)BUcedahuDvs?e*hsZz6UIz;HXnDB?CUGIHKYS)Wgw+ijr zat5IlH=$dFX5D#AYEz+6l|B{P^arj>Gr1NOI#g&-otw~>i@2sNdQ@u4hNq>boV1>> z>|KJv^`y{}Ne>YAa2+{hIid4B!v1dvA8^ZlNNUO&t|^6{R2p)@n}qQ%5;lM0)sgi} zq<)MVPl)EW{ixKD{hsk^$sL~(PMnoGavIl?EB6wnbNwhZWIET6LPHK)A@!p=zK{={ zz>RPMs>iKv%7W zZ>sApv;tqCL#de=ReTv{SQ_QSXD39OS&^HsA~TGP@8d0qcBf0eOIcZ2b2ChJS9l*Z;#rpTbA%X0PJuQ>@;^yf!NqGhs0U7Bh13%oopdF;5qB zaWMxLJ%#9F#GF~o$VG1;`jCx$&g|rKVevc{^Xmc6%3fs)?-9f-SC<%0k(A`n^h7hy$kw#1)SLoM%Z?C0d>+qJM3fgRUgN@59-bib=rol_7K&VJnyWdI bxzCL|au7uOIO diff --git a/favicon/mstile-144x144.png b/favicon/mstile-144x144.png deleted file mode 100644 index b1b6e3600e48fd3034c6028b01ba547a57af9ee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2501 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 O01J#Yy1~Tj-hTnWhCWIF diff --git a/favicon/safari-pinned-tab.svg b/favicon/safari-pinned-tab.svg deleted file mode 100644 index be019469a..000000000 --- a/favicon/safari-pinned-tab.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - - - diff --git a/favicon/site.webmanifest b/favicon/site.webmanifest deleted file mode 100644 index 5eb5e44f8..000000000 --- a/favicon/site.webmanifest +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "", - "short_name": "", - "icons": [ - { - "src": "/favicon/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/favicon/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} diff --git a/footer.html b/footer.html deleted file mode 100644 index 2dd165620..000000000 --- a/footer.html +++ /dev/null @@ -1,19 +0,0 @@ -
    -

    Copyright (c) 2018-2022 Jakub T. Jankiewicz

    - - -
    diff --git a/google145371584257758d.html b/google145371584257758d.html deleted file mode 100644 index 5bd95a623..000000000 --- a/google145371584257758d.html +++ /dev/null @@ -1 +0,0 @@ -google-site-verification: google145371584257758d.html \ No newline at end of file diff --git a/greetings.lips b/greetings.lips deleted file mode 100644 index 96d0b01cc..000000000 --- a/greetings.lips +++ /dev/null @@ -1,4 +0,0 @@ -;; example lips file loaded using load -;; it invoke global terminal method -(let ((echo (. term "echo"))) - (echo greetings)) diff --git a/head.html b/head.html deleted file mode 100644 index 8fb5f46dd..000000000 --- a/head.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - LIPS Logo: Scheme (lisp dialect) in JavaScript -

    - Powerful Scheme lisp in JavaScript -

    -
    - -
    - - - diff --git a/img/bookmarklet.svg b/img/bookmarklet.svg new file mode 100644 index 000000000..9a8945cdf --- /dev/null +++ b/img/bookmarklet.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/img/docusaurus.png b/img/docusaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..f458149e3c8f53335f28fbc162ae67f55575c881 GIT binary patch literal 5142 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 F{0H{b<4^zq literal 0 HcmV?d00001 diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..65a9178ef4bc8ca071dd144e00c7f091136479ac GIT binary patch literal 13094 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 Gz&`;^z@(=D literal 0 HcmV?d00001 diff --git a/img/icons.svg b/img/icons.svg new file mode 100644 index 000000000..71897b423 --- /dev/null +++ b/img/icons.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/lips-social-card.png b/img/lips-social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..7c69f3725b7afd0858a9a740a9ff5b55be1492fe GIT binary patch literal 88511 zcmeFZF;Kt)l{7#aMClY2C8S}|ASK=17=VC)BB3-&cXufQ(h>`#ySp3S zG2Q!I&-(|Q59h<_RNN6#@0Go7JAI) zR{9Z3d?fIqOXx*Hwl)UlRyf+s`dYRoHimjuoV_1a;Fr?qmrwMpb*v06Yz)oKaD>cm znp^0Z>FM4y(Xy~Hw_v>a(#qV-=BAyYo;~ADL$jAAwt8kd@M~?yoAO#_`sOz+tjvw{ zbZl1m+@-;_5r)x)`ekCm0_9yk0ae~*iYosEZ$ z?I`2JMR>8$zqev*rK5*qU}Ixp&BMZiE=0$~&_c_~2Hg*fuAYsSp$Q8sJ2&S&ZkB(q zk4f8+>3{C(WRPD398Br&nawR6tqk=IY;YbwzIRjFR@=l-=jIc0Q!PWYn@{v~4R!v# zE_5iz7&U5IF*KOe(wG%{_3^}9?1vGHa6F*5;DhXxaxF|fC^z|&> z*H{f-T!yc -Jq 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%0Ak-GtyF*KY0SQ-gGm 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 JYOI6j{{qD{WKRG9 literal 0 HcmV?d00001 diff --git a/img/logo-black.svg b/img/logo-black.svg new file mode 100644 index 000000000..78b0c7956 --- /dev/null +++ b/img/logo-black.svg @@ -0,0 +1,24 @@ + + + + + + + image/svg+xml + + + + + + + + LIPS + + + + + + + + + diff --git a/img/logo-white.svg b/img/logo-white.svg new file mode 100644 index 000000000..dbd9031fc --- /dev/null +++ b/img/logo-white.svg @@ -0,0 +1,24 @@ + + + + + + + image/svg+xml + + + + + + + + LIPS + + + + + + + + + diff --git a/img/undraw_docusaurus_mountain.svg b/img/undraw_docusaurus_mountain.svg new file mode 100644 index 000000000..af961c49a --- /dev/null +++ b/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/undraw_docusaurus_react.svg b/img/undraw_docusaurus_react.svg new file mode 100644 index 000000000..94b5cf08f --- /dev/null +++ b/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/undraw_docusaurus_tree.svg b/img/undraw_docusaurus_tree.svg new file mode 100644 index 000000000..d9161d339 --- /dev/null +++ b/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/index.html b/index.html index 4a2ff2f99..03a1f88ae 100644 --- a/index.html +++ b/index.html @@ -1,308 +1,203 @@ - - + + - - LIPS: Powerful Scheme based lisp interpreter in JavaScript - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +LIPS Scheme | LIPS Scheme + + + + + +

    LIPS Scheme v.

    Powerfull Scheme based Lisp in JavaScript

    • ;; &() is object literal used with quasiquote
      +(let ((object `&(:name "LIPS Scheme"
      +                 :version ,lips.version)))
      +  ;; you can access JavaScript properties
      +  ;; with dot notation
      +  (print (string-append object.name
      +                        " "
      +                        object.version))
      +  ;; you can mix scheme and JavaScript
      +  (ignore (setTimeout (lambda ()
      +                (alert (JSON.stringify object)))
      +               1000)))
      Mixing Scheme and JavaScript
    • (print (filter number? '(foo 10 bar 20 baz 30)))
      +;; ==> (10 20 30)
      +(print (filter #/foo|bar/ '(foo bar baz quux)))
      +;; ==> (foo bar)
      +(define foo_or_bar (curry filter #/foo|bar/))
      +(print (foo_or_bar '(foo bar baz)))
      +;; ==> (foo bar)
       
      -    
      -    
      -    
      -    
      -    
      -    
      -    
      +;; &() is object literal used with quasiquote
      +(define (make-person first last)
      +        `&(:fist ,first :last ,last))
       
      -    
      -    
      -    
      -
      -
      -  
      - - LIPS Logo: Scheme (lisp dialect) in JavaScript -

      - Powerful Scheme lisp in JavaScript -

      -
      - -
      - - - +;; explicit promise handling with quotation +(let ((promise (--> '>(fetch "https://scheme.org.pl") + (then (lambda (res) + (res.text))) + (then (lambda (x) + (. (x.match re) 1)))))) + (print (await promise)))
      Automagic async/await like resolving of promises and explicit promise quotation.
    • ;; show hygienic macro prints expression
      +;; and the result value
      +(define-syntax show
      +  (syntax-rules ()
      +    [(_ expr ...)
      +     (begin
      +       (begin
      +         (write 'expr)
      +         (display " = ")
      +         (write expr)
      +         (newline))
      +         ...)]))
       
      -  
      -

      Summary

      -

      LIPS is poweful Scheme based lisp interpreter written in JavaScript. The name is recursive acronym which stands for LIPS Is Pretty Simple. The interpreter have very good integration with JavaScript. The aim of the project is to support full Specification R7RS of Scheme Programming Language.

      -

      Key features of the interpreter:

      -
        -
      • Literal regular expression.
      • -
      • Great integration with JavaScript. You can use any JS library out of the box.
      • -
      • Asynchronous execution (auto resolving of promises with optional promise quotation).
      • -
      • Functional helpers (implementation inspired by RamdaJS)
      • -
      • Possibility modify the parser at runtime (add new syntax, similar to vectors and object).
      • -
      • Possibility to set represention of new data types for write and display. - Witth parser extensions you can make new data types have different syntax and still be homoicoic.
      • -
      • Small JavaScript core with Standard Library implemented in basic Scheme.
      • -
      • Full support of Unicode and Emoji.
      • -
      • Support for SXML, that allow to write JSX e.g. with Preact or React apps.
      • -
      • I/O Ports supports in browser with BrowserFS.
      • -
      • Binary Compiler that speed up the parsing of big files (e.g. standard library).
      • -
      • Fully implemented numerical tower and Big Integer support.
      • -
      • Powerful introspection (similar to the one in Python).
      • -
      • Auto formatting of lisp code (pretty print).
      • -
      • Lisp/hygienic macros and macroexpand.
      • -
      • Builtin help system.
      • -
      -
      -
      -

      1.0.0 Beta Demo

      -

      Check Everything you need to know about Scheme and try the interpreter while you will read the document.

      -

      You can also look at Doumentation for 1.0.0 (WIP).

      -
      - -
      -
      -
      -
      -
      -
      -
      -
      -
      -

      Bookmarklet

      -

      When you're learning Scheme language, you can run the REPL directly on any page that - have Scheme tutorial you're learning from. It even work with PDF files and new empty tab - (at least in Chrome). Drag this link LIPS REPL to your bookmarks. When you click on the bookmark it will run the interpreter. You can also just click the link.

      -

      The bookmark can also be used to add REPL to your LIPS Web application.

      -

      It may also not work no sites that are protected with - Content Security Policy

      - -
      -
      -

      Video Presentation

      - FOSDEM 2023 - LIPS Scheme: Powerful introspection and extensibility -
      -
      -

      Browser

      -

      When using LIPS Scheme interpreter in browser you need to include the main script file.

      -

      If you want to use Webpack see wiki page for details.

      -
      
      -<script src="https://unpkg.com/@jcubic/lips@beta/dist/lips.min.js"></script>
      -    
      -

      or jsDelivr that is somewhat faster:

      -
      
      -<script src="https://cdn.jsdelivr.net/npm/@jcubic/lips@beta/dist/lips.min.js"></script>
      -    
      -

      You can put LIPS code directly in script tag:

      -
      
      -<script type="text/x-scheme" bootstrap>
      -(let ((what "world")
      -      (greet "hello"))
      -   (display (string-append "hello" " " what)))
      -</script>
      -    
      -

      NOTE: If you want to load standard library, you should use bootstrap attribute that will load it for you. You can optionaly specify the location of the file.

      -

      You can also use src attribute to link to source file.

      -
      
      -<script type="text/x-scheme" src="example.scm"><script>
      -    
      -

      Node

      - Terminal with LIPS Scheme interprer -
      
      -npm install -g @jcubic/lips@beta
      -    
      -
      
      -## if installed as global just use
      -lips
      -lips foo.scm
      -## you can also run code as string
      -lips -e '(print "hello world")'
      -    
      -

      You can also write scripts using LIPS with shebang

      -

      Crete file foo.scm

      -
      
      -#!/usr/bin/env lips
      -(let ((what "World"))
      -  (print (string-append "Hello " what)))
      -    
      -

      Then run

      -
      
      -chmod a+x foo.scm
      -./foo.scm # or just foo.lips depend on your $PATH
      -    
      -

      Direct API

      -

      You can also run execute LIPS programaticaly (in Node.js/Webpack).

      -
      
      -var { exec } = require('@jcubic/lips');
      -// or
      -import { exec } from '@jcubic/lips';
      -    
      -

      Then use it like this:

      -
      
      -exec('(let ((a 10) (b 20)) (* a b))').then(result => {
      -    results.forEach(function(result) {
      -        if (typeof result !== 'undefined') {
      -            console.log(result.toString());
      -        }
      -    });
      -});
      -    
      -
      -
      -

      Copyright (c) 2018-2022 Jakub T. Jankiewicz

      - - -
      +;; few example of Numeric Tower +(show (/ 1 2) + (expt 1/4 1/2) + (expt 10+10i 1/2) + (log 2+1/2i) + (acos -1) + (+ 1/2 1/4) + (* 3/4 1/10))
      Hygienic syntax-rules macro and few examples of Numeric Tower.
    • ;; Create new class using define-class macro
      +(define-class Person Object
      +   (constructor (lambda (self name)
      +                   (set! self.name name))))
      +
      +;; add syntax extension
      +(set-special! "P:" 'make-person lips.specials.SPLICE)
      +
      +;; add class representation
      +(set-repr! Person
      +  (lambda (x q)
      +    (string-append "P:(" (repr x.name q) ")")))
      +
      +;; function that create new object
      +;; for the syntax extension
      +(define (make-person name)
      +   (new Person name))
      +
      +;; we can use new syntax
      +(print P:("jon"))
      +;; ==> P:("jon")
      +(print (. P:("jon") 'name))
      +;; ==> "jon"
      Syntax extensions and custom repr allow to create new homoiconic data types.
    • ;; this will query the DOM and ivoke click method
      +(let ((selector "button[class*=\"ColorModeToggle\"]"))
      +  (--> (document.querySelector selector)
      +       (click)))
       
      -  
      -  
      -  
      -  
      -  
      -  
      -  
      -  
      +((Y (lambda (f)
      +     (lambda (n)
      +       (cond ((< n 0)
      +              (throw (new Error "Invalid factorial")))
      +             ((zero? n) 1)
      +             (else (* n (f (- n 1))))))))
      + 10)
      +;; ==> 3628800
      Y Combinator and inline factorial function.

    Bookmarklet

    When you're learning Scheme language, you can run the REPL directly on any page that have Scheme tutorial you're learning from. It even work with PDF files and new empty tab (at least in Chrome). Drag this link LIPS REPL to your bookmarks. When you click on the bookmark it will run the interpreter. You can also just click the link.

    The bookmark can also be used to add REPL to your LIPS Web application.

    It may also not work no sites that are protected with Content Security Policy

    - + \ No newline at end of file diff --git a/index.tmpl b/index.tmpl deleted file mode 100644 index 47dcfd5e8..000000000 --- a/index.tmpl +++ /dev/null @@ -1,200 +0,0 @@ - - - - - LIPS: Powerful Scheme based lisp interpreter in JavaScript - - -{{HEAD}} -
    -

    Summary

    -

    LIPS is poweful Scheme based lisp interpreter written in JavaScript. The name is recursive acronym which stands for LIPS Is Pretty Simple. The interpreter have very good integration with JavaScript. The aim of the project is to support full Specification R7RS of Scheme Programming Language.

    -

    Key features of the interpreter:

    -
      -
    • Literal regular expression.
    • -
    • Great integration with JavaScript. You can use any JS library out of the box.
    • -
    • Asynchronous execution (auto resolving of promises with optional promise quotation).
    • -
    • Functional helpers (implementation inspired by RamdaJS)
    • -
    • Possibility modify the parser at runtime (add new syntax, similar to vectors and object).
    • -
    • Possibility to set represention of new data types for write and display. - Witth parser extensions you can make new data types have different syntax and still be homoicoic.
    • -
    • Small JavaScript core with Standard Library implemented in basic Scheme.
    • -
    • Full support of Unicode and Emoji.
    • -
    • Support for SXML, that allow to write JSX e.g. with Preact or React apps.
    • -
    • I/O Ports supports in browser with BrowserFS.
    • -
    • Binary Compiler that speed up the parsing of big files (e.g. standard library).
    • -
    • Fully implemented numerical tower and Big Integer support.
    • -
    • Powerful introspection (similar to the one in Python).
    • -
    • Auto formatting of lisp code (pretty print).
    • -
    • Lisp/hygienic macros and macroexpand.
    • -
    • Builtin help system.
    • -
    -
    -
    -

    1.0.0 Beta Demo

    -

    Check Everything you need to know about Scheme and try the interpreter while you will read the document.

    -

    You can also look at Doumentation for 1.0.0 (WIP).

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Bookmarklet

    -

    When you're learning Scheme language, you can run the REPL directly on any page that - have Scheme tutorial you're learning from. It even work with PDF files and new empty tab - (at least in Chrome). Drag this link LIPS REPL to your bookmarks. When you click on the bookmark it will run the interpreter. You can also just click the link.

    -

    The bookmark can also be used to add REPL to your LIPS Web application.

    -

    It may also not work no sites that are protected with - Content Security Policy

    - -
    -
    -

    Video Presentation

    - FOSDEM 2023 - LIPS Scheme: Powerful introspection and extensibility -
    -
    -

    Browser

    -

    When using LIPS Scheme interpreter in browser you need to include the main script file.

    -

    If you want to use Webpack see wiki page for details.

    -
    
    -<script src="https://unpkg.com/@jcubic/lips@beta/dist/lips.min.js"></script>
    -    
    -

    or jsDelivr that is somewhat faster:

    -
    
    -<script src="https://cdn.jsdelivr.net/npm/@jcubic/lips@beta/dist/lips.min.js"></script>
    -    
    -

    You can put LIPS code directly in script tag:

    -
    
    -<script type="text/x-scheme" bootstrap>
    -(let ((what "world")
    -      (greet "hello"))
    -   (display (string-append "hello" " " what)))
    -</script>
    -    
    -

    NOTE: If you want to load standard library, you should use bootstrap attribute that will load it for you. You can optionaly specify the location of the file.

    -

    You can also use src attribute to link to source file.

    -
    
    -<script type="text/x-scheme" src="example.scm"><script>
    -    
    -

    Node

    - Terminal with LIPS Scheme interprer -
    
    -npm install -g @jcubic/lips@beta
    -    
    -
    
    -## if installed as global just use
    -lips
    -lips foo.scm
    -## you can also run code as string
    -lips -e '(print "hello world")'
    -    
    -

    You can also write scripts using LIPS with shebang

    -

    Crete file foo.scm

    -
    
    -#!/usr/bin/env lips
    -(let ((what "World"))
    -  (print (string-append "Hello " what)))
    -    
    -

    Then run

    -
    
    -chmod a+x foo.scm
    -./foo.scm # or just foo.lips depend on your $PATH
    -    
    -

    Direct API

    -

    You can also run execute LIPS programaticaly (in Node.js/Webpack).

    -
    
    -var { exec } = require('@jcubic/lips');
    -// or
    -import { exec } from '@jcubic/lips';
    -    
    -

    Then use it like this:

    -
    
    -exec('(let ((a 10) (b 20)) (* a b))').then(result => {
    -    results.forEach(function(result) {
    -        if (typeof result !== 'undefined') {
    -            console.log(result.toString());
    -        }
    -    });
    -});
    -    
    -
    - {{FOOTER}} - - - - - - - - - - diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 1faba08b6..000000000 --- a/jest.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - collectCoverage: true, - modulePathIgnorePatterns: ['/templates/', '/dist/'] -}; diff --git a/js/bookmark.js b/js/bookmark.js new file mode 100644 index 000000000..e69bc1801 --- /dev/null +++ b/js/bookmark.js @@ -0,0 +1,9 @@ +(function() { + const url = 'https://cdn.jsdelivr.net/gh/jcubic/lips@master/lib/js/bookmark.js'; + fetch(url).then(function(res) { + return res.text(); + }).then(function(text) { + const link = document.querySelector('#bookmark_link'); + link.setAttribute('href', text); + }); +})(); \ No newline at end of file diff --git a/js/interpreter.js b/js/interpreter.js new file mode 100644 index 000000000..25dbf9f0d --- /dev/null +++ b/js/interpreter.js @@ -0,0 +1,86 @@ +(() => { +$.terminal.syntax('scheme'); +var term = terminal({ + selector: '.term', + dynamic: false, + name: 'demo', + lips: lips +}); + +const intro = `LIPS version ${lips.version} +Copyright (c) 2018-${new Date().getFullYear()} [[!;;;;https://jcubic.pl/me]Jakub T. Jankiewicz] + +Type (env) to see environment with functions macros and variables +You can also use (help obj)to display help for specic function or macro. +Use (dir name) to get list of JavaScript properties and (apropos name) +to display list of matched names in environment.` + +term.echo(intro.replace(/(\((?:env|dir|help|apropos)[^)]*\))/g, function(code) { + return $.terminal.prism('scheme', code, { echo: true }); +}), { + formatters: false +}); +function pretty(code, options = {}) { + const formatter = new lips.Formatter(code.toString(true)); + code = formatter.break().format(options); + return $.terminal.prism('scheme', code, { echo: true }); +} + +$('.examples .run').on('click', function() { + const code = $('.example:visible').text(); + term.echo(term.get_prompt(), { formatters: false }); + term.exec(code, true); + setTimeout(() => term.focus(), 0); +}); + +function make_active($list, index) { + $list.eq(index).addClass('active').siblings().removeClass('active'); +} + +const $examples = $('.examples .list li'); +const $pagination = $('.examples .pagination'); +const $pages = $pagination.find('li'); +$examples.eq(0).addClass('active'); +$pages.eq(0).addClass('active'); +$pagination.on('click', 'li:not(.active)', function(e) { + const self = $(this); + const index = self.index(); + make_active($examples, index); + make_active($pages, index); + return false; +}); + +function highlight(code) { + return Prism.highlight(code, Prism.languages.scheme, 'scheme'); +} + +const change = (() => { + let size = 1; + return function change(inc) { + size += inc; + term.css('--size', size); + } +})(); + +$('.actions .zoom-in').click(function() { + change(0.1); +}); + +$('.actions .zoom-out').click(function() { + change(-0.1); +}); + +$('.actions > li .full-screen').click(function() { + $(document.body).addClass('full-screen'); +}); + +$('.actions .exit-full-screen').click(function() { + $(document.body).removeClass('full-screen'); +}); + +$('.example pre').map(function() { + const self = $(this); + self.html(highlight(self.text())); +}); + +})(); diff --git a/logo.svg b/logo.svg deleted file mode 100644 index 3a5e97326..000000000 --- a/logo.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - diff --git a/markdown-page/index.html b/markdown-page/index.html new file mode 100644 index 000000000..063c12fc2 --- /dev/null +++ b/markdown-page/index.html @@ -0,0 +1,15 @@ + + + + + +Markdown page example | LIPS Scheme + + + + + +

    Markdown page example

    +

    You don't need React to write simple standalone pages.

    + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 17de1a295..000000000 --- a/package-lock.json +++ /dev/null @@ -1,10003 +0,0 @@ -{ - "name": "@jcubic/lips", - "version": "0.20.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@jcubic/lips", - "version": "0.20.0", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.8" - }, - "bin": { - "lips": "bin/lips.js" - }, - "devDependencies": { - "@babel/cli": "^7.23.4", - "@babel/core": "^7.4.5", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.4.4", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-runtime": "^7.4.4", - "@babel/preset-env": "^7.23.8", - "@babel/preset-react": "^7.23.3", - "@babel/runtime": "^7.4.5", - "@babel/runtime-corejs2": "^7.4.5", - "acorn": "^7.1.1", - "babel-preset-env": "^1.7.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-stage-0": "^6.24.1", - "coveralls": "^3.0.3", - "eslint": "^5.16.0", - "jest": "^24.8.0", - "rollup": "^1.12.3", - "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-commonjs": "^10.0.0", - "rollup-plugin-node-resolve": "^5.0.0", - "uglify-js": "^3.5.15" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/cli": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", - "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "commander": "^4.0.1", - "convert-source-map": "^2.0.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.2.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0" - }, - "bin": { - "babel": "bin/babel.js", - "babel-external-helpers": "bin/babel-external-helpers.js" - }, - "engines": { - "node": ">=6.9.0" - }, - "optionalDependencies": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", - "chokidar": "^3.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", - "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", - "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-external-helpers": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.23.3.tgz", - "integrity": "sha512-W2kdnFytYsSB0X49op/t9Re68rb3m+RN+sK7aD/8lCutepSm22Ms4MmPzMQZ2FYSpItsKlRXG3osVYfLWb83Ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", - "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", - "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", - "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.7", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs2": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.23.8.tgz", - "integrity": "sha512-U7JI0Qne1eSenXriL+BynbS4GyJE5nwGW/L72RnqOPJ+lgAZvEHS/jHtfU001R8NxD0Y/fqWKrHBoSBg8g2Vqw==", - "dev": true, - "dependencies": { - "core-js": "^2.6.12", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "dependencies": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/core/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dev": true, - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "dev": true, - "dependencies": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "20.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.7.tgz", - "integrity": "sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-equal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", - "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/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, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true - }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", - "dev": true, - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", - "dev": true - }, - "node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", - "dev": true, - "dependencies": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", - "dev": true, - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", - "dev": true, - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==", - "dev": true, - "dependencies": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", - "dev": true, - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", - "dev": true, - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", - "dev": true, - "dependencies": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dev": true, - "dependencies": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dev": true, - "dependencies": { - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", - "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.4", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", - "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.4", - "core-js-compat": "^3.33.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", - "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.4" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", - "dev": true - }, - "node_modules/babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==", - "dev": true - }, - "node_modules/babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha512-EEuBcXz/wZ81Jaac0LnMHtD4Mfz9XWn2oH2Xj+CHwz2SZWUqqdtR2BgWPSdTGMmxN/5KLSh4PImt9+9ZedDarA==", - "dev": true - }, - "node_modules/babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==", - "dev": true - }, - "node_modules/babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==", - "dev": true - }, - "node_modules/babel-plugin-syntax-do-expressions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", - "integrity": "sha512-HD/5qJB9oSXzl0caxM+aRD7ENICXqcc3Up/8toDQk7zNIDE7TzsqtxC5f4t9Rwhu2Ya8l9l4j6b3vOsy+a6qxg==", - "dev": true - }, - "node_modules/babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==", - "dev": true - }, - "node_modules/babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", - "dev": true - }, - "node_modules/babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha512-Eo0rcRaIDMld/W6mVhePiudIuLW+Cr/8eveW3mBREfZORScZgx4rh6BAPyvzdEc/JZvQ+LkC80t0VGFs6FX+lg==", - "dev": true - }, - "node_modules/babel-plugin-syntax-function-bind": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", - "integrity": "sha512-m8yMoh9LIiNyeLdQs5I9G+3YXo4nqVsKQkk7YplrG4qAFbNi9hkZlow8HDHxhH9QOVFPHmy8+03NzRCdyChIKw==", - "dev": true - }, - "node_modules/babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==", - "dev": true - }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", - "dev": true - }, - "node_modules/babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==", - "dev": true, - "dependencies": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", - "dev": true, - "dependencies": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-class-constructor-call": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha512-RvYukT1Nh7njz8P8326ztpQUGCKwmjgu6aRIx1lkvylWITYcskg29vy1Kp8WXIq7FvhXsz0Crf2kS94bjB690A==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-class-constructor-call": "^6.18.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==", - "dev": true, - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==", - "dev": true, - "dependencies": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-do-expressions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", - "integrity": "sha512-yQwYqYg+Tnj1InA8W1rsItsZVhkv1Euc4KVua9ledtPz5PDWYz7LVyy6rDBpVYUWFZj5k6GUm3YZpCbIm8Tqew==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-do-expressions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", - "dev": true, - "dependencies": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", - "dev": true, - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", - "dev": true, - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "dependencies": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", - "dev": true, - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", - "dev": true, - "dependencies": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", - "dev": true, - "dependencies": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", - "dev": true, - "dependencies": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", - "dev": true, - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", - "dev": true, - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", - "dev": true, - "dependencies": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha512-mtzELzINaYqdVglyZrDDVwkcFRuE7s6QUFWXxwffKAHB/NkfbJ2NJSytugB43ytIC8UVt30Ereyx+7gNyTkDLg==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-function-bind": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", - "integrity": "sha512-9Ec4KYf1GurT39mlUjDSlN7HWSlB3u3mWRMogQbb+Y88lO0ZM3rJ0ADhPnQwWK9TbO6e/4E+Et1rrfGY9mFimA==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-function-bind": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "node_modules/babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.10.0" - } - }, - "node_modules/babel-plugin-transform-regenerator/node_modules/regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "node_modules/babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "dependencies": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "node_modules/babel-preset-env/node_modules/browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - }, - "bin": { - "browserslist": "cli.js" - } - }, - "node_modules/babel-preset-env/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", - "deprecated": "🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!", - "dev": true, - "dependencies": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "node_modules/babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-stage-0": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", - "integrity": "sha512-MJD+xBbpsApbKlzAX0sOBF+VeFaUmv5s8FSOO7SSZpes1QgphCjq/UIGRFWSmQ/0i5bqQjLGCTXGGXqcLQ9JDA==", - "dev": true, - "dependencies": { - "babel-plugin-transform-do-expressions": "^6.22.0", - "babel-plugin-transform-function-bind": "^6.22.0", - "babel-preset-stage-1": "^6.24.1" - } - }, - "node_modules/babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha512-rn+UOcd7BHDniq1SVxv2/AVVSVI1NK+hfS0I/iR6m6KbOi/aeBRcqBilqO73pd9VUpRXF2HFtlDuC9F2BEQqmg==", - "dev": true, - "dependencies": { - "babel-plugin-transform-class-constructor-call": "^6.24.1", - "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-stage-2": "^6.24.1" - } - }, - "node_modules/babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "node_modules/babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==", - "dev": true, - "dependencies": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dev": true, - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", - "dev": true, - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true, - "bin": { - "babylon": "bin/babylon.js" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "dependencies": { - "resolve": "1.1.7" - } - }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001576", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", - "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true - }, - "node_modules/core-js-compat": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", - "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", - "dev": true, - "dependencies": { - "browserslist": "^4.22.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "dependencies": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - }, - "bin": { - "coveralls": "bin/coveralls.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "dependencies": { - "cssom": "0.3.x" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "dependencies": { - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.625", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.625.tgz", - "integrity": "sha512-DENMhh3MFgaPDoXWrVIqSPInQoLImywfCwrSmVl3cf9QHzoZSiutHwGaB/Ql3VkqcQV30rzgdM+BjKqBAJxo5Q==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/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, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^6.14.0 || ^8.10.0 || >=9.10.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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 - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/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, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "dependencies": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "dependencies": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "dev": true, - "dependencies": { - "detect-newline": "^2.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dev": true, - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dev": true, - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "engines": { - "node": ">= 6" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/jest-haste-map/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/jest-haste-map/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "dev": true, - "dependencies": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "dev": true, - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-worker/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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 - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", - "dev": true, - "bin": { - "lcov-parse": "bin/cli.js" - } - }, - "node_modules/left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "deprecated": "use String.prototype.padStart()", - "dev": true - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "node_modules/log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true, - "engines": { - "node": ">=0.8.6" - } - }, - "node_modules/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, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", - "dev": true - }, - "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-notifier": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", - "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", - "dev": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", - "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", - "dev": true, - "dependencies": { - "array.prototype.reduce": "^1.0.6", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "safe-array-concat": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha512-J/e9xiZZQNrt+958FFzJ+auItsBGq+UrQ7nE89AUP7UOTtjHnkISANXLdayhVzh538UnLMCSlf13lFfRIAKQOA==", - "dev": true, - "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dev": true, - "dependencies": { - "util.promisify": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/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, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - }, - "bin": { - "rollup": "dist/bin/rollup" - } - }, - "node_modules/rollup-plugin-babel": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", - "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "rollup-pluginutils": "^2.8.1" - }, - "peerDependencies": { - "@babel/core": "7 || ^7.0.0-rc.2", - "rollup": ">=0.60.0 <3" - } - }, - "node_modules/rollup-plugin-commonjs": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", - "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.", - "dev": true, - "dependencies": { - "estree-walker": "^0.6.1", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.1" - }, - "peerDependencies": { - "rollup": ">=1.12.0" - } - }, - "node_modules/rollup-plugin-node-resolve": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", - "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.", - "dev": true, - "dependencies": { - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.11.1", - "rollup-pluginutils": "^2.8.1" - }, - "peerDependencies": { - "rollup": ">=1.11.0" - } - }, - "node_modules/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "dependencies": { - "estree-walker": "^0.6.1" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", - "dev": true, - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha512-Qka42GGrS8Mm3SZ+7cH8UXiIWI867/b/Z/feQSpQx/rbfB8UGknGEZVaUQMOUVj+soY6NpWAxily63HI1OckVQ==", - "dev": true, - "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-regex-range/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util.promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.2.tgz", - "integrity": "sha512-PBdZ03m1kBnQ5cjjO0ZvJMJS+QsbyIcFwi4hY4U76OQsCO9JrOYjbCFgIF76ccFg9xnJo7ZHPkqyj1GqmdS7MA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "object.getownpropertydescriptors": "^2.1.6", - "safe-array-concat": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 645345ac0..000000000 --- a/package.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "name": "@jcubic/lips", - "version": "0.20.0", - "description": "Simple Scheme Like Lisp in JavaScript", - "main": "src/lips.js", - "unpkg": "dist/lips.min.js", - "scripts": {}, - "repository": { - "type": "git", - "url": "git+https://github.com/jcubic/lips.git" - }, - "bin": { - "lips": "bin/lips.js" - }, - "keywords": [ - "lisp", - "scheme", - "language", - "interpreter" - ], - "author": "Jakub T. Jankiewicz (https://jcubic.pl/jakub-jankiewicz/)", - "license": "MIT", - "bugs": { - "url": "https://github.com/jcubic/lips/issues" - }, - "homepage": "https://github.com/jcubic/lips#readme", - "eslintConfig": { - "parserOptions": { - "ecmaVersion": 2017, - "sourceType": "module", - "ecmaFeatures": {} - }, - "env": { - "browser": true, - "jest": true, - "node": true - }, - "globals": { - "Promise": true - }, - "rules": { - "eqeqeq": "error", - "curly": "error", - "no-unreachable": "error", - "valid-typeof": 0, - "no-unexpected-multiline": "error", - "no-regex-spaces": "error", - "no-irregular-whitespace": "error", - "no-invalid-regexp": "error", - "no-inner-declarations": "error", - "no-func-assign": "error", - "no-extra-semi": "error", - "no-extra-boolean-cast": "error", - "no-debugger": "error", - "no-dupe-args": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty-character-class": "error", - "no-ex-assign": "error", - "array-callback-return": "error", - "no-case-declarations": "error", - "guard-for-in": "error", - "no-caller": "error", - "no-eval": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-fallthrough": "error", - "no-global-assign": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-multi-spaces": "error", - "no-new-wrappers": "error", - "no-redeclare": "error", - "no-self-assign": "error", - "no-return-assign": "error", - "no-self-compare": "error", - "no-throw-literal": "error", - "no-unused-labels": "error", - "no-useless-call": "error", - "no-useless-escape": "error", - "no-void": "error", - "no-with": "error", - "radix": "error", - "wrap-iife": [ - "error", - "inside" - ], - "yoda": [ - "error", - "never" - ], - "no-catch-shadow": "error", - "no-delete-var": "error", - "no-label-var": "error", - "no-undef-init": "error", - "no-unused-vars": "error", - "no-undef": "error", - "comma-style": [ - "error", - "last" - ], - "comma-dangle": [ - "error", - "never" - ], - "comma-spacing": [ - "error", - { - "before": false, - "after": true - } - ], - "computed-property-spacing": [ - "error", - "never" - ], - "eol-last": [ - "error", - "always" - ], - "func-call-spacing": [ - "error", - "never" - ], - "key-spacing": [ - "error", - { - "beforeColon": false, - "afterColon": true, - "mode": "strict" - } - ], - "max-len": [ - "error", - 90 - ], - "max-statements-per-line": "error", - "new-parens": "error", - "no-array-constructor": "error", - "no-lonely-if": "error", - "no-mixed-spaces-and-tabs": "error", - "no-multiple-empty-lines": "error", - "no-new-object": "error", - "no-tabs": "error", - "no-trailing-spaces": "error", - "no-whitespace-before-property": "error", - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-blocks": "error", - "keyword-spacing": [ - "error", - { - "before": true, - "after": true - } - ], - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "error", - "space-before-function-paren": [ - "error", - "never" - ], - "complexity": [ - "error", - { - "max": 35 - } - ], - "indent": [ - "error", - 4, - { - "SwitchCase": 1 - } - ], - "linebreak-style": [ - "error", - "unix" - ], - "semi": [ - "error", - "always" - ] - } - }, - "devDependencies": { - "@babel/core": "^7.4.5", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.4.4", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-runtime": "^7.4.4", - "@babel/preset-env": "^7.4.5", - "@babel/runtime": "^7.4.5", - "@babel/runtime-corejs2": "^7.4.5", - "acorn": "^7.1.1", - "babel-preset-env": "^1.7.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-stage-0": "^6.24.1", - "coveralls": "^3.0.3", - "eslint": "^5.16.0", - "jest": "^24.8.0", - "rollup": "^1.12.3", - "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-commonjs": "^10.0.0", - "rollup-plugin-node-resolve": "^5.0.0", - "uglify-js": "^3.5.15" - }, - "dependencies": { - "bn.js": "^4.11.8" - } -} diff --git a/purge.html b/purge.html deleted file mode 100644 index 361a83fbf..000000000 --- a/purge.html +++ /dev/null @@ -1,25 +0,0 @@ - - - -
    
    -  
    diff --git a/reference.html b/reference.html
    deleted file mode 100644
    index e46439e60..000000000
    --- a/reference.html
    +++ /dev/null
    @@ -1,165 +0,0 @@
    -
    -
    -
    -    
    -    LIPS Scheme Functions and Macro Reference
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -
    -    
    -    
    -    
    -
    -
    -  
    - - LIPS Logo: Scheme (lisp dialect) in JavaScript -

    - Powerful Scheme lisp in JavaScript -

    -
    - -
    - - - - -
    -
    -

    Functions and Macro Reference

    -
    -
    Loading...
    - - - - - -
    -

    Copyright (c) 2018-2022 Jakub T. Jankiewicz

    - - -
    - - - diff --git a/reference.tmpl b/reference.tmpl deleted file mode 100644 index bc23580d4..000000000 --- a/reference.tmpl +++ /dev/null @@ -1,57 +0,0 @@ - - - - - LIPS Scheme Functions and Macro Reference - - - -{{HEAD}} -
    -
    -

    Functions and Macro Reference

    -
    -
    Loading...
    - - - - - -{{FOOTER}} - - diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 1be560033..000000000 --- a/rollup.config.js +++ /dev/null @@ -1,39 +0,0 @@ -import commonjs from "rollup-plugin-commonjs"; -import nodeResolve from "rollup-plugin-node-resolve"; -import babel from "rollup-plugin-babel"; - -export default { - input: "src/lips.js", - output: { - name: "lib", - file: "dist/lips.js", - format: "iife", - globals: { - "@babel/runtime/regenerator": "regeneratorRuntime" - } - }, - plugins: [ - babel({ - "babelrc": false, - "runtimeHelpers": true, - "plugins": [ - "@babel/plugin-transform-async-to-generator", - "@babel/plugin-transform-regenerator", - ["@babel/plugin-transform-runtime", { - "helpers": true, - "regenerator": true - }] - ], - "presets": [ - "@babel/preset-env" - ], - "exclude": "node_modules/**" - }), - nodeResolve({ - mainFields: ["jsnext:main"] - }), - commonjs({ - include: "node_modules/**" - }) - ] -}; diff --git a/screenshot.html b/screenshot.html deleted file mode 100644 index 1a1c4845e..000000000 --- a/screenshot.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - LIPS Scheme Screenshoter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - LIPS Logo: Scheme (lisp dialect) in JavaScript -

    - Powerful Scheme lisp in JavaScript -

    -
    - -
    - - - - - -
    -
    - -
    -
    -
    -
    -
    -
      -
    • -
    • -
    • -
    -
    -
    -
    -
    -
    -
    - - - - - - - - -
    -

    Copyright (c) 2018-2022 Jakub T. Jankiewicz

    - - -
    - - - diff --git a/screenshot.tmpl b/screenshot.tmpl deleted file mode 100644 index 402eaf312..000000000 --- a/screenshot.tmpl +++ /dev/null @@ -1,225 +0,0 @@ - - - - - LIPS Scheme Screenshoter - - - - - - -{{HEAD}} - -
    -
    - -
    -
    -
    -
    -
    -
      -
    • -
    • -
    • -
    -
    -
    -
    -
    -
    -
    - - - - - - - - -{{FOOTER}} - - diff --git a/sitemap.xml b/sitemap.xml index d50efb45d..2fdbb1968 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,27 +1 @@ - - - - https://lips.js.org/ - 2021-01-08T08:54:45+00:00 - daily - 1.0 - - - https://lips.js.org/docs.html - 2021-01-08T08:54:45+00:00 - monthly - 1.0 - - - https://lips.js.org/beta.html - 2021-01-08T08:54:45+00:00 - monthly - 1.0 - - - https://lips.js.org/todo.html - 2021-01-08T08:54:45+00:00 - monthly - 1.0 - - +https://lips.js.org/blogweekly0.5https://lips.js.org/blog/archiveweekly0.5https://lips.js.org/blog/tagsweekly0.5https://lips.js.org/blog/tags/helloweekly0.5https://lips.js.org/blog/tags/lipsweekly0.5https://lips.js.org/blog/welcomeweekly0.5https://lips.js.org/markdown-pageweekly0.5https://lips.js.org/docs/category/tutorial---basicsweekly0.5https://lips.js.org/docs/category/tutorial---extrasweekly0.5https://lips.js.org/docs/introweekly0.5https://lips.js.org/docs/tutorial-basics/congratulationsweekly0.5https://lips.js.org/docs/tutorial-basics/create-a-blog-postweekly0.5https://lips.js.org/docs/tutorial-basics/create-a-documentweekly0.5https://lips.js.org/docs/tutorial-basics/create-a-pageweekly0.5https://lips.js.org/docs/tutorial-basics/deploy-your-siteweekly0.5https://lips.js.org/docs/tutorial-basics/markdown-featuresweekly0.5https://lips.js.org/docs/tutorial-extras/manage-docs-versionsweekly0.5https://lips.js.org/docs/tutorial-extras/translate-your-siteweekly0.5https://lips.js.org/weekly0.5 \ No newline at end of file diff --git a/spec/lips.spec.js b/spec/lips.spec.js deleted file mode 100644 index 557d5a2e7..000000000 --- a/spec/lips.spec.js +++ /dev/null @@ -1,931 +0,0 @@ -/* global require, describe, it, expect */ - -var lips = require('../dist/lips'); - -var { - parse, - tokenize, - evaluate, - Pair, - LSymbol, - nil, - Environment, - global_environment, - LNumber, - quote -} = lips; - -var deps = lips.exec('(load "./examples/helpers.lips")'); - -describe('tokenizer', function() { - it('should create tokens for simple list', function() { - expect(tokenize('(foo bar baz)')).toEqual(['(', 'foo', 'bar', 'baz', ')']); - }); - it('should create tokens for numbers string and regexes', function() { - expect(tokenize('(foo /( \\/)/g "bar baz" 10 1.1 10e2)')).toEqual([ - '(', 'foo', '/( \\/)/g', '"bar baz"', '10', '1.1', '10e2', ')' - ]); - }); - it('should create tokens for alists', function() { - expect(tokenize('((foo . 10) (bar . 20) (baz . 30))')).toEqual([ - '(', '(', 'foo', '.', '10', ')', '(', 'bar', '.', '20', ')', '(', - 'baz', '.', '30', ')', ')' - ]); - }); - it('should ignore comments', function() { - expect(tokenize('(foo bar baz); (baz quux)')).toEqual([ - '(', 'foo', 'bar', 'baz', ')' - ]); - }); - it('should handle semicolon in regexes and strings', function() { - expect(tokenize('(";()" /;;;/g baz); (baz quux)')).toEqual([ - '(', '";()"', '/;;;/g', 'baz', ')' - ]); - }); - it('should tokenize with data', function() { - var code = `(define-macro (defstruct name . fields) - "First Line." "word" 10 - "Second Line." "word" /regex/ - "Third Line." "word" - (let ((names (map (lambda (symbol) (gensym)) fields)) - (struct (gensym)) - (field-arg (gensym))) -`; - var output = [ - { col: 0, line: 0, token: '(', offset: 0 }, - { col: 1, line: 0, token: 'define-macro', offset: 1 }, - { col: 13, line: 0, token: ' ', offset: 13 }, - { col: 14, line: 0, token: '(', offset: 14 }, - { col: 15, line: 0, token: 'defstruct', offset: 15 }, - { col: 24, line: 0, token: ' ', offset: 24 }, - { col: 25, line: 0, token: 'name', offset: 25 }, - { col: 29, line: 0, token: ' ', offset: 29 }, - { col: 30, line: 0, token: '.', offset: 30 }, - { col: 31, line: 0, token: ' ', offset: 31 }, - { col: 32, line: 0, token: 'fields', offset: 32 }, - { col: 38, line: 0, token: ')', offset: 38 }, - { col: 39, line: 0, token: '\n', offset: 39 }, - { col: 0, line: 1, token: ' ', offset: 40 }, - { col: 2, line: 1, token: '"First Line."', offset: 42 }, - { col: 15, line: 1, token: ' ', offset: 55 }, - { col: 16, line: 1, token: '"word"', offset: 56 }, - { col: 22, line: 1, token: ' ', offset: 62 }, - { col: 23, line: 1, token: '10', offset: 63 }, - { col: 25, line: 1, token: '\n', offset: 65 }, - { col: 0, line: 2, token: ' ', offset: 66 }, - { col: 2, line: 2, token: '"Second Line."', offset: 68 }, - { col: 16, line: 2, token: ' ', offset: 82 }, - { col: 20, line: 2, token: '"word"', offset: 86 }, - { col: 26, line: 2, token: ' ', offset: 92 }, - { col: 27, line: 2, token: '/regex/', offset: 93 }, - { col: 34, line: 2, token: '\n', offset: 100 }, - { col: 0, line: 3, token: ' ', offset: 101 }, - { col: 2, line: 3, token: '"Third Line."', offset: 103 }, - { col: 15, line: 3, token: ' ', offset: 116 }, - { col: 20, line: 3, token: '"word"', offset: 121 }, - { col: 26, line: 3, token: '\n', offset: 127 }, - { col: 0, line: 4, token: ' ', offset: 128 }, - { col: 2, line: 4, token: '(', offset: 130 }, - { col: 3, line: 4, token: 'let', offset: 131 }, - { col: 6, line: 4, token: ' ', offset: 134 }, - { col: 7, line: 4, token: '(', offset: 135 }, - { col: 8, line: 4, token: '(', offset: 136 }, - { col: 9, line: 4, token: 'names', offset: 137 }, - { col: 14, line: 4, token: ' ', offset: 142 }, - { col: 15, line: 4, token: '(', offset: 143 }, - { col: 16, line: 4, token: 'map', offset: 144 }, - { col: 19, line: 4, token: ' ', offset: 147 }, - { col: 20, line: 4, token: '(', offset: 148 }, - { col: 21, line: 4, token: 'lambda', offset: 149 }, - { col: 27, line: 4, token: ' ', offset: 155 }, - { col: 28, line: 4, token: '(', offset: 156 }, - { col: 29, line: 4, token: 'symbol', offset: 157 }, - { col: 35, line: 4, token: ')', offset: 163 }, - { col: 36, line: 4, token: ' ', offset: 164 }, - { col: 37, line: 4, token: '(', offset: 165 }, - { col: 38, line: 4, token: 'gensym', offset: 166 }, - { col: 44, line: 4, token: ')', offset: 172 }, - { col: 45, line: 4, token: ')', offset: 173 }, - { col: 46, line: 4, token: ' ', offset: 174 }, - { col: 47, line: 4, token: 'fields', offset: 175 }, - { col: 53, line: 4, token: ')', offset: 181 }, - { col: 54, line: 4, token: ')', offset: 182 }, - { col: 55, line: 4, token: '\n', offset: 183 }, - { col: 0, line: 5, token: ' ', offset: 184 }, - { col: 8, line: 5, token: '(', offset: 192 }, - { col: 9, line: 5, token: 'struct', offset: 193 }, - { col: 15, line: 5, token: ' ', offset: 199 }, - { col: 16, line: 5, token: '(', offset: 200 }, - { col: 17, line: 5, token: 'gensym', offset: 201 }, - { col: 23, line: 5, token: ')', offset: 207 }, - { col: 24, line: 5, token: ')', offset: 208 }, - { col: 25, line: 5, token: '\n', offset: 209 }, - { col: 0, line: 6, token: ' ', offset: 210 }, - { col: 8, line: 6, token: '(', offset: 218 }, - { col: 9, line: 6, token: 'field-arg', offset: 219 }, - { col: 18, line: 6, token: ' ', offset: 228 }, - { col: 19, line: 6, token: '(', offset: 229 }, - { col: 20, line: 6, token: 'gensym', offset: 230 }, - { col: 26, line: 6, token: ')', offset: 236 }, - { col: 27, line: 6, token: ')', offset: 237 }, - { col: 28, line: 6, token: ')', offset: 238 }, - { col: 29, line: 6, token: '\n', offset: 239 } - ]; - expect(tokenize(code, true).slice(0, output.length)).toEqual(output); - }); -}); -describe('parser', function() { - it('should create Pair for simple list', function() { - var tokens = tokenize('(foo bar baz)'); - var array = parse(tokens); - expect(array.length).toBe(1); - expect(array[0]).toEqual( - new Pair( - new LSymbol('foo'), - new Pair( - new LSymbol('bar'), - new Pair( - new LSymbol('baz'), - nil - ) - ) - ) - ); - }); - it('should create regular expressions numbers and strings', function() { - var tokens = tokenize('(foo /( \\/)/g "bar baz" 10 1.1 10e2)'); - var array = parse(tokens); - expect(array[0]).toEqual( - new Pair( - new LSymbol('foo'), - new Pair( - /( \/)/g, - new Pair( - 'bar baz', - new Pair( - LNumber(10), - new Pair( - LNumber(1.1), - new Pair( - LNumber(10e2), - nil - ) - ) - ) - ) - ) - ) - ); - }); - function testQuasituote(input, literal) { - var tokens = tokenize(input); - var array = parse(tokens); - var q = new LSymbol('quasiquote'); - if (literal) { - q.literal = true; - } - var u = new LSymbol('unquote-splicing'); - if (literal) { - u.literal = true; - } - expect(array[0]).toEqual( - new Pair( - q, - new Pair( - new Pair( - new LSymbol('list'), - new Pair( - new Pair( - u, - new Pair( - new Pair( - new LSymbol('list'), - nil - ), - nil) - ), - nil) - ), - nil - ) - ) - ); - } - it('should create quasiquote list from literals', function() { - testQuasituote('(quasiquote (list (unquote-splicing (list))))', true); - }); - it('should use reader macros', function() { - testQuasituote('`(list ,@(list))'); - }); - it('should parse quoted simbol inside multiple unquotes', function() { - var input = `\`(+ ,,(list 'foo))`; - var output = parse(tokenize(input))[0]; - expect(output).toEqual(Pair.fromArray( - [ - LSymbol('quasiquote'), - [ - LSymbol('+'), - [ - LSymbol('unquote'), - [ - LSymbol('unquote'), - [ - LSymbol('list'), - [ - LSymbol('quote'), - LSymbol('foo')]]]]]])); - }); - it('should create AList', function() { - var tokens = tokenize('((foo . 10) (bar . 20) (baz . 30))'); - var array = parse(tokens); - expect(array[0]).toEqual( - new Pair( - new Pair( - new LSymbol('foo'), - LNumber(10) - ), - new Pair( - new Pair( - new LSymbol('bar'), - LNumber(20) - ), - new Pair( - new Pair( - new LSymbol('baz'), - LNumber(30) - ), - nil - ) - ) - ) - ); - }); -}); - -describe('Pair', function() { - const pairs = new Pair( - 1, - new Pair( - 2, - new Pair( - new Pair( - 3, - new Pair( - 4, - nil) - ), - new Pair( - new Pair( - 5, - new Pair( - 6, - nil - ) - ), - nil - ) - ) - ) - ); - const array = [1, 2, [3, 4], [5, 6]]; - it('should create Pair structure from array', function() { - expect(Pair.fromArray(array)).toEqual(pairs); - }); - it('should create Array from list structure', function() { - expect(pairs.toArray()).toEqual(array); - }); - it('should return same array', function() { - var array = [[1], 2, [3, 4], [5, [1, [2, 3]], [1, 2]]]; - expect(Pair.fromArray(array).toArray()).toEqual(array); - }); -}); - -function exec(string, env, dynamic_scope) { - return evaluate(parse(tokenize(string))[0], { env, dynamic_scope }); -} - -function deepQuote(pair) { - if (pair instanceof Pair) { - quote(pair); - deepQuote(pair.cdr); - deepQuote(pair.car); - } - return pair; -} - -describe('evaluate', function() { - const rand = Math.random(); - const env = new Environment({ - value: rand, - fun: function(a, b) { - if (LNumber.isNumber(a)) { - return LNumber(a).add(b); - } else if (typeof a === 'string') { - return a + b; - } - }, - f2: (a, b) => new Pair(a, new Pair(b, nil)) - }, global_environment, 'test'); - it('should return value', function() { - expect(exec('value', env)).toEqual(LNumber(rand)); - }); - it('should call function', function() { - expect(exec('(fun 1 2)', env)).toEqual(LNumber(3)); - expect(exec('(fun "foo" "bar")', env)).toEqual("foobar"); - }); - it('should set environment', function() { - exec('(define x "foobar")', env); - expect(exec('x', env)).toEqual("foobar"); - expect(exec('x')).toEqual(undefined); - }); - it('should create list', function() { - expect(exec('(cons 1 (cons 2 (cons 3 nil)))')) - .toEqual(deepQuote(Pair.fromArray([LNumber(1), LNumber(2), LNumber(3)]))); - }); - describe('quasiquote', function() { - function exec(code) { - var env = lips.env.inherit('quasiquote'); - return lips.exec(code, env); - } - it('should unquote from single quasiquote', function() { - var code = "`(let ((name 'x)) `(let ((name 'y)) `(list ',name)))"; - return exec(code).then(function(result) { - expect(result[0].toString()).toEqual( - [ - '(let ((name (quote x)))', - '(quasiquote (let ((name (quote y)))', - '(quasiquote (list (quote (unquote name)))))))' - ].join(' ') - ); - }); - }); - it('should quaisquote quoted unquoted function', function() { - // `',(foo) came from book "On Lips" by Paul Graham - return exec(`(define (foo) 'bar) \`',(foo)`).then(result => { - expect(result[1].toString()).toEqual('(quote bar)'); - }); - }); - it('should unquote symple and double unquote symbol', function() { - var code = "(let ((y 20)) `(let ((x 10)) `(list ,x ,,y)))"; - return exec(code).then(result => { - delete result[0].data; - expect(result[0]).toEqual(Pair.fromArray([ - new LSymbol('let'), [[new LSymbol('x'), new LNumber(10)]], - [ - new LSymbol('quasiquote'), - [ - new LSymbol('list'), - [ - new LSymbol('unquote'), - new LSymbol('x') - ], - [ - new LSymbol('unquote'), - new LNumber(20) - ] - ] - ] - ])); - }); - }); - it('should join symbol', function() { - return exec("(let ((x 'foo)) `(a ,@x))").then(result => { - expect(result[0].toString()).toEqual('(a . foo)'); - }); - }); - it('should unquote from double quotation', function() { - var code = `(let ((x '(1 2))) - \`(let ((x '(2 3))) - (begin - \`(list ,(car x)) - \`(list ,,(car x)))))`; - return exec(code).then(result => { - expect(result[0].toString()).toEqual([ - '(let ((x (quote (2 3))))', - '(begin', - '(quasiquote (list (unquote (car x))))', - '(quasiquote (list (unquote 1)))))' - ].join(' ')); - }); - }); - it('should evaluate unquote inside unquote-splice and double quasiquote', () => { - var code = `(define-macro (bar) - (let ((x 10) (y '(1 2 3)) (z 'foo)) - \`(list ,x \`(,@(list ',y))))) - (bar)`; - return exec(code).then(result => { - expect(result[1].toString()).toEqual('(10 ((1 2 3)))'); - }); - }); - it('should evaluate unquote quote unquote inside double quasiquote', function() { - var code = `(define-macro (bar) - (let ((x 10) (y '(1 2 3)) (z 'foo)) - \`(list ,x \`(,',z ,,@y)))) - (bar)`; - return exec(code).then(result => { - expect(result[1].toString()).toEqual('(10 (foo 1 2 3))'); - }); - }); - it('should evaluate nested quasiquote and unquote with bare list', function() { - var code = `(define-macro (bar) - (let ((x 10) (y '(1 2 3)) (z 'foo)) - \`(list ,x \`(,',z \`(list ,,,@y))))) - (define (foo x) x) - (eval (cadr (bar)))`; - return exec(code).then(result => { - expect(result[2].toString()).toEqual('(list 1 2 3)'); - }); - }); - }); - describe('quote', function() { - it('should return literal list', function() { - expect(exec(`'(1 2 3 (4 5))`)).toEqual( - quote(Pair.fromArray([ - LNumber(1), - LNumber(2), - LNumber(3), - [LNumber(4), LNumber(5)] - ])) - ); - }); - it('should return alist', function() { - expect(exec(`'((foo . 1) - (bar . 2.1) - (baz . "string") - (quux . /foo./g))`)).toEqual( - quote(new Pair( - new Pair( - new LSymbol('foo'), - LNumber(1) - ), - new Pair( - new Pair( - new LSymbol('bar'), - LNumber(2.1) - ), - new Pair( - new Pair( - new LSymbol('baz'), - "string" - ), - new Pair( - new Pair( - new LSymbol('quux'), - /foo./g - ), - nil - ) - ) - ) - )) - ); - }); - }); - describe('quasiquote', function() { - it('should create list with function call', async function() { - expect(await exec('`(1 2 3 ,(fun 2 2) 5)', env)).toEqual( - quote(Pair.fromArray([1, 2, 3, 4, 5].map(LNumber))) - ); - }); - it('should create list with value', async function() { - expect(await exec('`(1 2 3 ,value 4)', env)).toEqual( - quote(Pair.fromArray([1, 2, 3, rand, 4].map(LNumber))) - ); - }); - it('should create single list using uquote-splice', async function() { - expect(await exec('`(1 2 3 ,@(f2 4 5) 6)', env)).toEqual( - quote(Pair.fromArray([1, 2, 3, 4, 5, 6].map(LNumber))) - ); - }); - it('should create single pair', async function() { - var specs = [ - '`(1 . 2)', - '`(,(car (list 1 2 3)) . 2)', - '`(1 . ,(cadr (list 1 2 3)))', - '`(,(car (list 1 2 3)) . ,(cadr (list 1 2 3)))' - ]; - for (let code of specs) { - expect(await exec(code)).toEqual(quote(new Pair(LNumber(1), LNumber(2)))); - } - }); - it('should create list from pair syntax', async function() { - expect(await exec('`(,(car (list 1 2 3)) . (1 2 3))')).toEqual( - quote(Pair.fromArray([ - LNumber(1), - LNumber(1), - LNumber(2), - LNumber(3) - ])) - ); - }); - it('should create alist with values', async function() { - expect(await exec(`\`((1 . ,(car (list 1 2))) - (2 . ,(cadr (list 1 "foo"))))`)) - .toEqual( - quote(new Pair( - new Pair(LNumber(1), LNumber(1)), - new Pair(new Pair(LNumber(2), "foo"), nil))) - ); - expect(await exec(`\`((,(car (list "foo")) . ,(car (list 1 2))) - (2 . ,(cadr (list 1 "foo"))))`)) - .toEqual(quote(new Pair( - new Pair("foo", LNumber(1)), - new Pair( - new Pair(LNumber(2), "foo"), - nil - )))); - }); - it('should process nested backquote', async function() { - expect(await exec('`(1 2 3 ,(cadr `(1 ,(concat "foo" "bar") 3)) 4)')).toEqual( - quote(Pair.fromArray([ - LNumber(1), LNumber(2), LNumber(3), "foobar", LNumber(4) - ])) - ); - }); - it('should process multiple backquote/unquote', async function() { - expect(await exec('``(a ,,(+ 1 2) ,(+ 3 4))')).toEqual( - quote(Pair.fromArray([ - new LSymbol('quasiquote'), - [ - new LSymbol('a'), - [ - new LSymbol('unquote'), - LNumber(3) - ], - [ - new LSymbol('unquote'), - [ - new LSymbol('+'), - LNumber(3), - LNumber(4) - ] - ] - ] - ]))); - }); - }); - describe('trampoline', function() { - var code = `(define Y - (lambda (h) - ((lambda (x) (x x)) - (lambda (g) - (h (lambda args (apply (g g) args))))))) - - (define (trampoline f) - (lambda args - (let ((result (apply f args))) - (while (eq? (type result) "function") - (set! result (result))) - result))) - - (define (! n) - ((trampoline (Y (lambda (f) - (lambda (n acc) - (if (== n 0) - acc - (lambda () - (f (- n 1) (* n acc)))))))) n 1)) - - (string (! 1000))`; - var factorial_1000 = [ - "402387260077093773543702433923003985719374864210714632543799910", - "429938512398629020592044208486969404800479988610197196058631666", - "872994808558901323829669944590997424504087073759918823627727188", - "732519779505950995276120874975462497043601418278094646496291056", - "393887437886487337119181045825783647849977012476632889835955735", - "432513185323958463075557409114262417474349347553428646576611667", - "797396668820291207379143853719588249808126867838374559731746136", - "085379534524221586593201928090878297308431392844403281231558611", - "036976801357304216168747609675871348312025478589320767169132448", - "426236131412508780208000261683151027341827977704784635868170164", - "365024153691398281264810213092761244896359928705114964975419909", - "342221566832572080821333186116811553615836546984046708975602900", - "950537616475847728421889679646244945160765353408198901385442487", - "984959953319101723355556602139450399736280750137837615307127761", - "926849034352625200015888535147331611702103968175921510907788019", - "393178114194545257223865541461062892187960223838971476088506276", - "862967146674697562911234082439208160153780889893964518263243671", - "616762179168909779911903754031274622289988005195444414282012187", - "361745992642956581746628302955570299024324153181617210465832036", - "786906117260158783520751516284225540265170483304226143974286933", - "061690897968482590125458327168226458066526769958652682272807075", - "781391858178889652208164348344825993266043367660176999612831860", - "788386150279465955131156552036093988180612138558600301435694527", - "224206344631797460594682573103790084024432438465657245014402821", - "885252470935190620929023136493273497565513958720559654228749774", - "011413346962715422845862377387538230483865688976461927383814900", - "140767310446640259899490222221765904339901886018566526485061799", - "702356193897017860040811889729918311021171229845901641921068884", - "387121855646124960798722908519296819372388642614839657382291123", - "125024186649353143970137428531926649875337218940694281434118520", - "158014123344828015051399694290153483077644569099073152433278288", - "269864602789864321139083506217095002597389863554277196742822248", - "757586765752344220207573630569498825087968928162753848863396909", - "959826280956121450994871701244516461260379029309120889086942028", - "510640182154399457156805941872748998094254742173582401063677404", - "595741785160829230135358081840096996372524230560855903700624271", - "243416909004153690105933983835777939410970027753472000000000000", - "000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000"].join(''); - var env = global_environment.inherit('trampoline'); - it('should calculate factorial using Y (TOC)', function() { - var result = lips.exec(code, env); - return result.then(function(result) { - expect(result).toEqual([ - undefined, - undefined, - undefined, - factorial_1000 - ]); - }); - }); - it('should throw exception', function() { - return lips.exec(code, env, env).catch(e => { - expect(e.code instanceof Array).toBeTruthy(); - expect(e.code.pop()).toEqual('(string (! 1000))'); - expect(e).toEqual(new Error("Unbound variable `f'")); - }); - }); - }); - describe('parallel invocation', function() { - it('should run async code sequentially', function() { - var output = LNumber(30); - function test(code, range) { - var start = Date.now(); - return lips.exec(code).then(result => { - var time = Date.now() - start; - expect(result[0]).toEqual(output); - expect(time).not.toBeLessThan(range[0]); - expect(time).not.toBeGreaterThan(range[1]); - }); - } - return deps.then(function() { - return Promise.all([ - test('(begin (wait 300 10) (wait 300 20) (wait 300 30))', [ - 800, 1000 - ]), - test('(begin* (wait 300 10) (wait 300 20) (wait 300 30))', [ - 300, 350 - ]) - ]); - }); - }); - }); -}); -describe('environment', function() { - const env = global_environment; - var functions = { - scope_name: function() { - if (this.name === '__frame__') { - return this.parent.name; - } - return this.name; - } - }; - it('should return name of the enviroment', function() { - var e = env.inherit('foo', functions); - return lips.exec('(scope_name)', e).then(result => { - return expect(result).toEqual(['foo']); - }); - }); - it('should create default scope name', function() { - var e = env.inherit(functions); - return lips.exec('(scope_name)', e).then(result => { - return expect(result).toEqual(['child of global']); - }); - }); - it('should create default scope name for child scope', function() { - var e = env.inherit('foo', functions); - var child = e.inherit(); - return lips.exec('(scope_name)', child).then(result => { - return expect(result).toEqual(['child of foo']); - }); - }); -}); -describe('scope', function() { - const ge = global_environment; - function exec(code, dynamic_scope) { - var env = ge.inherit(); - return lips.exec(code, env, dynamic_scope ? env : undefined); - } - describe('lexical', function() { - it('should evaluate let', function() { - return exec(`(define x 10) (let ((x 10)) x)`).then((result) => { - expect(result).toEqual([undefined, LNumber(10)]); - }); - }); - it('should evaluate let over let', function() { - var code = `(define x 10) - (let ((x 20)) (let ((x 30)) x))`; - return exec(code).then(result => { - expect(result).toEqual([undefined, LNumber(30)]); - }); - }); - it('should evalute lambda', function() { - var code = `(define x 10) - ((let ((x 20)) (lambda () x)))`; - return exec(code).then((result) => { - expect(result).toEqual([undefined, LNumber(20)]); - }); - }); - it('sould create closure', function() { - var code = `(define fn (let ((x 10)) - (let ((y 20)) (lambda () (+ x y))))) - (fn)`; - return exec(code).then(result => { - expect(result).toEqual([undefined, LNumber(30)]); - }); - }); - }); - describe('dynamic', function() { - it('should get value from let', function() { - var code = `(define fn (lambda (x) (* x y))) - (let ((y 10)) (fn 20))`; - return exec(code, true).then(result => { - expect(result).toEqual([undefined, LNumber(200)]); - }); - }); - it('should evalute simple lambda', function() { - var code = `(define y 20) - (define (foo x) (* x y)) - ((lambda (y) (foo 10)) 2)`; - return exec(code, true).then(result => { - expect(result).toEqual([undefined, undefined, LNumber(20)]); - }); - }); - it('should evalute let over lambda', function() { - var code = `(define y 10) - ((let ((y 2)) (lambda () y)))`; - return exec(code, true).then(result => { - expect(result).toEqual([undefined, LNumber(10)]); - }); - }); - }); -}); -describe('docs', function() { - it('all functions should have docs', function() { - Object.keys(lips.env.env).forEach(key => { - var value = lips.env.env[key]; - if (typeof value === 'function') { - var __doc__ = value.__doc__; - expect([key, typeof __doc__]).toEqual([key, 'string']); - expect(__doc__.length).toBeGreaterThan(0); - } - }); - }); -}); -const str2list = code => lips.parse(lips.tokenize(code))[0]; -describe('lists', function() { - describe('append', function() { - it('should append pair', function() { - [ - ['(1 2 3)', '(1 2 3 10)'], - ['((1 2 3))', '((1 2 3) 10)'], - ['(1 2 (3) 4)', '(1 2 (3) 4 10)'], - ['(1 2 3 (4))', '(1 2 3 (4) 10)'] - ].forEach(([code, expected]) => { - var input = str2list(code); - input.append(new Pair(LNumber(10), nil)); - expect(input).toEqual(str2list(expected)); - }); - }); - it('should append value', function() { - [ - ['(1 2 3)', '(1 2 3 . 10)'], - ['((1 2 3))', '((1 2 3) . 10)'], - ['(1 2 (3) 4)', '(1 2 (3) 4 . 10)'], - ['(1 2 3 (4))', '(1 2 3 (4) . 10)'] - ].forEach(([code, expected]) => { - var input = str2list(code); - input.append(LNumber(10)); - expect(input).toEqual(str2list(expected)); - }); - }); - it('should not append nil', function() { - [ - '(1 2 3)', - '((1 2 3))', - '(1 2 (3) 4)', - '(1 2 3 (4))', - '(1 . 2)', - '((1 . 2))' - ].forEach((code) => { - var input = str2list(code); - input.append(lips.nil); - expect(input).toEqual(str2list(code)); - }); - }); - }); -}); -describe('cycles', function() { - it('should print simple cycles', function() { - var code = `(let ((x '(1 2 3))) (set-cdr! (cddr x) x) x)`; - return lips.exec(code + code + code).then(results => { - expect(results.length).toEqual(3); - results.forEach(result => { - expect(result.toString()).toEqual('(1 2 3 . #0#)'); - }); - }); - }); - it('should print cons withs cycles', function() { - var code = `(let ((x '(1 2 3))) (set-cdr! (cddr x) (cons x x)) x)`; - return lips.exec(code + code + code).then(results => { - expect(results.length).toEqual(3); - results.forEach(result => { - expect(result.toString()).toEqual('(1 2 3 #0# . #0#)'); - }); - }); - }); - it('should define list with two references', function() { - var code = `(define l (let ((x '(1 2 3)) - (y '(1 2 3))) - (set-cdr! (cddr x) x) - (set-cdr! (cddr y) y) - (cons x y))) - l`; - return lips.exec(code).then(results => { - expect(results[0]).not.toBeDefined(); - expect(results[1].toString()).toEqual('((1 2 3 . #0#) 1 2 3 . #1#)'); - }); - }); - it('shoulde create double reference', function() { - var code = `(let ((x '(1 2 3)) - (y '(1 2 3))) - (set-cdr! (cddr x) x) - (set-cdr! (cddr y) y) - (cons x y))`; - return lips.exec(code + code + code).then(results => { - expect(results.length).toEqual(3); - results.forEach(result => { - expect(result.toString()).toEqual('((1 2 3 . #0#) 1 2 3 . #1#)'); - }); - }); - }); -}); -describe('env', function() { - // data on lists are leftovers after macro processing - // it prevent to evalute retults of macros we need to remove - // it to have same value is parsing clean data - // using str2list helper - function clean(node) { - if (node instanceof Pair) { - delete node.data; - clean(node.car); - clean(node.cdr); - } - return node; - } - function testList(code, expected) { - return lips.exec(code).then(([list]) => { - expect(clean(list)).toEqual(str2list(expected)); - }); - } - function testValue([code, expected]) { - return lips.exec(code).then(([result]) => { - expect(result).toEqual(expected); - }); - } - describe('reduce', function() { - it('should create and reduce async list', function() { - const code = `(reduce + - 0 - (list (wait 1000 10) (wait 2000 30)))`; - return deps.then(() => testValue([code, LNumber(40)])); - }); - it('should reverse list', function() { - const code = `(reduce cons '() '(1 2 3))`; - return testList(code, '(3 2 1)'); - }); - it('should create wrong list', function() { - return testList(`(reduce list '() '(1 2 3))`, '(3 (2 (1 ())))'); - }); - }); - describe('dot function', function() { - it('sould call pair method on list structure', function() { - var code = `((. '((a . "10") (b . 20)) "toObject"))`; - return lips.exec(code).then(([result]) => { - expect(result).toEqual({ a: "10", b: 20 }); - }); - }); - }); - describe('gensym', function() { - it('should create uniqe symbols', function() { - return Promise.all([ - [`(eq? (gensym "foo") (gensym "foo"))`, false], - [`(eq? 'foo 'foo)`, true], - [`(eq? (string (gensym "foo")) (string (gensym "foo")))`, true] - ].map(testValue)); - }); - }); - describe('math', function() { - it('should calculate math operations', function() { - return Promise.all([ - ['(* 1 2 3 4 5)', LNumber(120)], - ['(+ 1 2 3 4 5)', LNumber(15)], - ['(- 10 2 3)', LNumber(5)] - ].map(testValue)); - }); - }); -}); diff --git a/src/banner.js b/src/banner.js deleted file mode 100644 index 5fd912171..000000000 --- a/src/banner.js +++ /dev/null @@ -1,28 +0,0 @@ -/**@license - * LIPS is Pretty Simple - simple scheme like lisp in JavaScript - v. {{VER}} - * - * Copyright (c) 2018-2019 Jakub T. Jankiewicz - * Released under the MIT license - * - * includes: - * - * unfetch by Jason Miller (@developit) MIT License - * - * contentloaded.js - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - * - * dist file generated by Babel includes code - * Copyright (c) 2014-present, Facebook, Inc. - * released under MIT license - * - * build: {{DATE}} - */ diff --git a/src/lips.js b/src/lips.js deleted file mode 100644 index 52b56a412..000000000 --- a/src/lips.js +++ /dev/null @@ -1,4416 +0,0 @@ -/**@license - * LIPS is Pretty Simple - simple scheme like lisp in JavaScript - * - * Copyright (c) 2018-2019 Jakub T. Jankiewicz - * Released under the MIT license - * - * includes: - * - * unfetch by Jason Miller (@developit) MIT License - * - * includes: - * contentloaded.js - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - */ -/* - * TODO: consider using exec in env.eval or use different maybe_async code - */ -"use strict"; -/* global define, module, setTimeout, jQuery, global, BigInt, require, Blob, Map, - Set, Symbol */ -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['bn.js'], function(BN) { - return (root.lips = factory(root, BN)); - }); - } else if (typeof module === 'object' && module.exports) { - // Node/CommonJS - module.exports = factory(root, require('bn.js')); - } else { - root.lips = factory(root, root.BN); - } -})(typeof global !== 'undefined' ? global : window, function(root, BN, undefined) { - /* eslint-disable */ - /* istanbul ignore next */ - function contentLoaded(win, fn) { - var done = false, top = true, - - doc = win.document, - root = doc.documentElement, - modern = doc.addEventListener, - - add = modern ? 'addEventListener' : 'attachEvent', - rem = modern ? 'removeEventListener' : 'detachEvent', - pre = modern ? '' : 'on', - - init = function(e) { - if (e.type == 'readystatechange' && doc.readyState != 'complete') return; - (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); - if (!done && (done = true)) fn.call(win, e.type || e); - }, - - poll = function() { - try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } - init('poll'); - }; - - if (doc.readyState == 'complete') fn.call(win, 'lazy'); - else { - if (!modern && root.doScroll) { - try { top = !win.frameElement; } catch(e) { } - if (top) poll(); - } - doc[add](pre + 'DOMContentLoaded', init, false); - doc[add](pre + 'readystatechange', init, false); - win[add](pre + 'load', init, false); - } - } - /* eslint-disable */ - function log(x, regex = null) { - function msg(x) { - var value = global_env.get('string')(x); - if (regex === null || regex.test(value)) { - console.log(global_env.get('type')(x) + ": " + value); - } - } - if (isPromise(x)) { - x.then(msg); - } else { - msg(x); - } - return x; - } - if (!root.fetch) { - root.fetch = function(url, options) { - options = options || {}; - return new Promise( (resolve, reject) => { - let request = new XMLHttpRequest(); - - request.open(options.method || 'get', url, true); - - for (let i in options.headers) { - request.setRequestHeader(i, options.headers[i]); - } - - request.withCredentials = options.credentials=='include'; - - request.onload = () => { - resolve(response()); - }; - - request.onerror = reject; - - request.send(options.body || null); - - function response() { - let keys = [], - all = [], - headers = {}, - header; - - request.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, (m, key, value) => { - keys.push(key = key.toLowerCase()); - all.push([key, value]); - header = headers[key]; - headers[key] = header ? `${header},${value}` : value; - }); - - return { - ok: (request.status/100|0) == 2, // 200-299 - status: request.status, - statusText: request.statusText, - url: request.responseURL, - clone: response, - text: () => Promise.resolve(request.responseText), - json: () => Promise.resolve(request.responseText).then(JSON.parse), - blob: () => Promise.resolve(new Blob([request.response])), - headers: { - keys: () => keys, - entries: () => all, - get: n => headers[n.toLowerCase()], - has: n => n.toLowerCase() in headers - } - }; - } - }); - }; - } - /* eslint-enable */ - // parse_argument based on function from jQuery Terminal - var re_re = /^\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimy]*)$/; - var int_re = /^[-+]?[0-9]+([eE][-+]?[0-9]+)?$/; - var float_re = /^([-+]?((\.[0-9]+|[0-9]+\.[0-9]+)([eE][-+]?[0-9]+)?)|[0-9]+\.)$/; - // ---------------------------------------------------------------------- - function parse_argument(arg) { - function parse_string(string) { - // remove quotes if before are even number of slashes - // we don't remove slases becuase they are handled by JSON.parse - //string = string.replace(/([^\\])['"]$/, '$1'); - if (string.match(/^['"]/)) { - if (string === '""' || string === "''") { - return ''; - } - var quote = string[0]; - var re = new RegExp("((^|[^\\\\])(?:\\\\\\\\)*)" + quote, "g"); - string = string.replace(re, "$1"); - } - // use build in function to parse rest of escaped characters - return JSON.parse('"' + string.replace(/\n/g, '\\n') + '"'); - } - var regex = arg.match(re_re); - if (regex) { - return new RegExp(regex[1], regex[2]); - } else if (arg.match(/['"]/)) { - return parse_string(arg); - } else if (arg.match(int_re)) { - return LNumber(parseFloat(arg)); - } else if (arg.match(float_re)) { - return LNumber(parseFloat(arg), true); - } else if (arg === 'nil') { - return nil; - } else if (arg === 'true') { - return true; - } else if (arg === 'false') { - return false; - } else { - return new LSymbol(arg); - } - } - // ---------------------------------------------------------------------- - function is_symbol_string(str) { - return !(['(', ')'].includes(str) || str.match(re_re) || str.match(/['"]/) || - str.match(int_re) || str.match(float_re) || - ['nil', 'true', 'false'].includes(str)); - } - // ---------------------------------------------------------------------- - /* eslint-disable */ - var pre_parse_re = /("(?:\\[\S\s]|[^"])*"|\/(?! )[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimy]*(?=\s|\(|\)|$)|;.*)/g; - var string_re = /"(?:\\[\S\s]|[^"])*"/g; - //var tokens_re = /("(?:\\[\S\s]|[^"])*"|\/(?! )[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimy]*(?=\s|\(|\)|$)|\(|\)|'|"(?:\\[\S\s]|[^"])+|\n|(?:\\[\S\s]|[^"])*"|;.*|(?:[-+]?(?:(?:\.[0-9]+|[0-9]+\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\.)[0-9]|\.{2,}|\.|,@|,|#|`|[^(\s)]+)/gim; - // ---------------------------------------------------------------------- - function makeTokenRe() { - var tokens = Object.keys(specials).map(escapeRegex).join('|'); - return new RegExp(`("(?:\\\\[\\S\\s]|[^"])*"|\\/(?! )[^\\/\\\\]*(?:\\\\[\\S\\s][^\\/\\\\]*)*\\/[gimy]*(?=\\s|\\(|\\)|$)|\\(|\\)|'|"(?:\\\\[\\S\\s]|[^"])+|\\n|(?:\\\\[\\S\\s]|[^"])*"|;.*|(?:[-+]?(?:(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)[0-9]|\\.{2,}|${tokens}|[^(\\s)]+)`, 'gim'); - } - /* eslint-enable */ - // ---------------------------------------------------------------------- - function lastItem(array, n = 1) { - return array[array.length - n]; - } - // ---------------------------------------------------------------------- - function escapeRegex(str) { - if (typeof str === 'string') { - var special = /([-\\^$[\]()+{}?*.|])/g; - return str.replace(special, '\\$1'); - } - } - // ---------------------------------------------------------------------- - function tokens(str) { - var tokens_re = makeTokenRe(); - str = str.replace(/\n\r|\r/g, '\n'); - var count = 0; - var line = 0; - var tokens = []; - var current_line = []; - var col = 0; - str.split(pre_parse_re).filter(Boolean).forEach(function(string) { - if (string.match(pre_parse_re)) { - col = 0; - if (current_line.length) { - var lastToken = lastItem(current_line); - if (lastToken.token.match(/\n/)) { - var last_line = lastToken.token.split('\n').pop(); - col += last_line.length; - } else { - col += lastToken.token.length; - } - col += lastToken.col; - } - var token = { - col, - line, - token: string, - offset: count - }; - tokens.push(token); - current_line.push(token); - count += string.length; - col += string.length; - line += (string.match("\n") || []).length; - return; - } - string.split(tokens_re).filter(Boolean).forEach(function(string) { - var token = { - col, - line, - token: string, - offset: count - }; - col += string.length; - count += string.length; - tokens.push(token); - current_line.push(token); - if (string === '\n') { - ++line; - current_line = []; - col = 0; - } - }); - }); - return tokens; - } - // ---------------------------------------------------------------------- - function tokenize(str, extra) { - if (extra) { - return tokens(str); - } else { - return tokens(str).map(function(token) { - return token.token.trim(); - }).filter(function(token) { - return token && !token.match(/^;/); - }); - } - } - // ---------------------------------------------------------------------- - var specials = { - "'": new LSymbol('quote'), - '`': new LSymbol('quasiquote'), - ',@': new LSymbol('unquote-splicing'), - ',': new LSymbol('unquote') - }; - // ---------------------------------------------------------------------- - // :: tokens are the array of strings from tokenizer - // :: the return value is lisp code created out of Pair class - // ---------------------------------------------------------------------- - function parse(tokens) { - if (typeof tokens === 'string') { - tokens = tokenize(tokens); - } - var stack = []; - var result = []; - var special = null; - var special_tokens = Object.keys(specials); - var special_forms = special_tokens.map(s => specials[s].name); - var parents = 0; - var first_value = false; - var specials_stack = []; - var single_list_specials = []; - var special_count = 0; - function pop_join() { - var top = stack[stack.length - 1]; - if (top instanceof Array && top[0] instanceof LSymbol && - special_forms.includes(top[0].name) && - stack.length > 1 && !top[0].literal) { - stack.pop(); - if (stack[stack.length - 1].length === 1 && - stack[stack.length - 1][0] instanceof LSymbol) { - stack[stack.length - 1].push(top); - } else if (false && stack[stack.length - 1].length === 0) { - stack[stack.length - 1] = top; - } else if (stack[stack.length - 1] instanceof Pair) { - if (stack[stack.length - 1].cdr instanceof Pair) { - stack[stack.length - 1] = new Pair( - stack[stack.length - 1], - Pair.fromArray(top) - ); - } else { - stack[stack.length - 1].cdr = Pair.fromArray(top); - } - } else { - stack[stack.length - 1].push(top); - } - } - } - tokens.forEach(function(token) { - var top = stack[stack.length - 1]; - if (special_tokens.indexOf(token) !== -1) { - special_count++; - special = token; - stack.push([specials[special]]); - if (!special) { - single_list_specials = []; - } - single_list_specials.push(special); - } else { - if (special) { - specials_stack.push(single_list_specials); - single_list_specials = []; - } - if (token === '(') { - first_value = true; - parents++; - stack.push([]); - special = null; - special_count = 0; - } else if (token === '.' && !first_value) { - stack[stack.length - 1] = Pair.fromArray(top); - } else if (token === ')') { - parents--; - if (!stack.length) { - throw new Error('Unbalanced parenthesis'); - } - if (stack.length === 1) { - result.push(stack.pop()); - } else if (stack.length > 1) { - var list = stack.pop(); - top = stack[stack.length - 1]; - if (top instanceof Array) { - top.push(list); - } else if (top instanceof Pair) { - top.append(Pair.fromArray(list)); - } - if (specials_stack.length) { - single_list_specials = specials_stack.pop(); - while (single_list_specials.length) { - pop_join(); - single_list_specials.pop(); - } - } else { - pop_join(); - } - } - if (parents === 0 && stack.length) { - result.push(stack.pop()); - } - } else { - first_value = false; - var value = parse_argument(token); - if (special) { - // special without list like ,foo - while (special_count--) { - stack[stack.length - 1].push(value); - value = stack.pop(); - } - specials_stack.pop(); - special_count = 0; - special = false; - } else if (value instanceof LSymbol && - special_forms.includes(value.name)) { - // handle parsing os special forms as literal symbols - // (values they expand into) - value.literal = true; - } - top = stack[stack.length - 1]; - if (top instanceof Pair) { - var node = top; - while (true) { - if (node.cdr === nil) { - if (value instanceof Array) { - node.cdr = Pair.fromArray(value); - } else { - node.cdr = value; - } - break; - } else { - node = node.cdr; - } - } - } else if (!stack.length) { - result.push(value); - } else { - top.push(value); - } - } - } - }); - if (!tokens.filter(t => t.match(/^[()]$/)).length && stack.length) { - // list of parser macros - result = result.concat(stack); - stack = []; - } - if (stack.length) { - dump(result); - throw new Error('Unbalanced parenthesis 2'); - } - return result.map((arg) => { - if (arg instanceof Array) { - return Pair.fromArray(arg); - } - return arg; - }); - } - // ---------------------------------------------------------------------- - function unpromise(value, fn = x => x, error = null) { - if (isPromise(value)) { - var ret = value.then(fn); - if (error === null) { - return ret; - } else { - return ret.catch(error); - } - } - return fn(value); - } - // ---------------------------------------------------------------------- - function matcher(name, arg) { - if (arg instanceof RegExp) { - return x => String(x).match(arg); - } else if (typeof arg !== 'function') { - throw new Error(`${name} argument need to be a function or RegExp`); - } else { - return arg; - } - } - // ---------------------------------------------------------------------- - // :: documentaton decorator to LIPS functions if lines starts with : - // :: they are ignored (not trim) otherwise it trim so - // :: so you can have indent in source code - // ---------------------------------------------------------------------- - function doc(fn, doc, dump) { - if (doc) { - if (dump) { - fn.__doc__ = doc; - } else { - fn.__doc__ = trimLines(doc); - } - } - return fn; - } - // ---------------------------------------------------------------------- - function trimLines(string) { - return string.split('\n').map(line => { - return line.trim(); - }).join('\n'); - } - // ---------------------------------------------------------------------- - function dump(arr) { - if (false) { - console.log(arr.map((arg) => { - if (arg instanceof Array) { - return Pair.fromArray(arg); - } - return arg; - }).toString()); - } - } - // ---------------------------------------------------------------------- - // return last S-Expression - // @param tokens - array of tokens (objects from tokenizer or strings) - // @param sexp - number of expression to look behind - // ---------------------------------------------------------------------- - function previousSexp(tokens, sexp = 1) { - var i = tokens.length; - if (sexp <= 0) { - throw Error(`previousSexp: Invlaid argument sexp = ${sexp}`); - } - outer: while (sexp-- && i >= 0) { - var count = 1; - while (count > 0) { - var token = tokens[--i]; - if (!token) { - break outer; - } - if (token === '(' || token.token === '(') { - count--; - } else if (token === ')' || token.token === ')') { - count++; - } - } - i--; - } - return tokens.slice(i + 1); - } - // ---------------------------------------------------------------------- - // :: find number of spaces in line - // ---------------------------------------------------------------------- - function lineIndent(tokens) { - if (!tokens || !tokens.length) { - return 0; - } - var i = tokens.length; - if (tokens[i - 1].token === '\n') { - return 0; - } - while (--i) { - if (tokens[i].token === '\n') { - var token = (tokens[i + 1] || {}).token; - if (token) { - return token.length; - } - } - } - return 0; - } - // ---------------------------------------------------------------------- - // :: token based pattern matching - // ---------------------------------------------------------------------- - function match(pattern, input) { - return inner_match(pattern, input) === input.length; - function inner_match(pattern, input) { - function empty_match() { - return p > 0 && i > 0 && pattern[p - 1] === input[i - 1] && - pattern[p + 1] === input[i]; - } - function not_symbol_match() { - return pattern[p] === Symbol.for('symbol') && !is_symbol_string(input[i]); - } - var p = 0; - var glob = {}; - for (var i = 0; i < input.length; ++i) { - if (typeof pattern[p] === 'undefined') { - return i; - } - if (!input[i].trim()) { - continue; - } - if (pattern[p] instanceof Pattern) { - if (pattern[p].flag === '+') { - var m; - while (i < input.length) { - m = inner_match(pattern[p].pattern, input.slice(i)); - if (m === -1) { - break; - } - i += m; - } - if (m === -1 && (input[i] && !pattern[p + 1])) { - return -1; - } - p++; - i -= 1; - continue; - } else if (pattern[p].flag === '?') { - m = inner_match(pattern[p].pattern, input.slice(i)); - if (m === -1) { - i -= 2; // if not found use same test same input again - } else { - p++; - } - continue; - } - } - if (pattern[p] instanceof RegExp) { - if (!input[i].match(pattern[p])) { - return -1; - } - } else if (typeof pattern[p] === 'string') { - if (pattern[p] !== input[i]) { - return -1; - } - } else if (typeof pattern[p] === 'symbol') { - if (pattern[p] === Symbol.for('*')) { - // ignore S-expressions inside for case when next pattern is ')' - glob[p] = glob[p] || 0; - if (input[i] === '(') { - glob[p]++; - } else if (input[i] === ')') { - glob[p]--; - } - if (empty_match()) { - i -= 1; - } else if ((typeof pattern[p + 1] !== 'undefined' && - glob[p] === 0 && pattern[p + 1] !== input[i + 1]) || - glob[p] > 0) { - continue; - } - } else if (not_symbol_match()) { - return -1; - } - } else if (pattern[p] instanceof Array) { - var inc = inner_match(pattern[p], input.slice(i)); - if (inc === -1 || inc + i > input.length) { - // if no more input it's not match - return -1; - } - i += inc - 1; - p++; - continue; - } else { - return -1; - } - p++; - } - if (pattern.length !== p) { - // if there are still patterns it's not match - return -1; - } - return input.length; - } - } - // ---------------------------------------------------------------------- - // :: Code formatter class - // :: based on http://community.schemewiki.org/?scheme-style - // :: and GNU Emacs scheme mode - // :: it rely on meta data from tokenizer function - // ---------------------------------------------------------------------- - function Formatter(code) { - this._code = code.replace(/\r/g, ''); - } - // ---------------------------------------------------------------------- - Formatter.defaults = { - offset: 0, - indent: 2, - specials: [/^define/, 'lambda', 'let', 'let*'] - }; - Formatter.match = match; - // ---------------------------------------------------------------------- - // :: return indent for next line - // ---------------------------------------------------------------------- - Formatter.prototype._options = function _options(options) { - var defaults = Formatter.defaults; - if (typeof options === 'undefined') { - return Object.assign({}, defaults); - } - var specials = options && options.specials || []; - return Object.assign({}, defaults, options, { - specials: defaults.specials.concat(specials) - }); - }; - // ---------------------------------------------------------------------- - Formatter.prototype.indent = function indent(options) { - var tokens = tokenize(this._code, true); - return this._indent(tokens, options); - }; - // ---------------------------------------------------------------------- - Formatter.matchSpecial = function(token, settings) { - var specials = settings.specials; - if (specials.indexOf(token) !== -1) { - return true; - } else { - var regexes = specials.filter(s => s instanceof RegExp); - for (let re of regexes) { - if (token.match(re)) { - return true; - } - } - } - return false; - }; - // ---------------------------------------------------------------------- - Formatter.prototype._indent = function _indent(tokens, options) { - var settings = this._options(options); - var spaces = lineIndent(tokens); - var sexp = previousSexp(tokens); - if (sexp && sexp.length) { - if (sexp[0].line > 0) { - settings.offset = 0; - } - if (sexp.length === tokens.length) { - return settings.offset + sexp[0].col; - } else if (sexp.length === 1) { - return settings.offset + sexp[0].col + 1; - } else if (Formatter.matchSpecial(sexp[1].token, settings)) { - return settings.offset + sexp[0].col + settings.indent; - } else if (sexp[0].line < sexp[1].line) { - return settings.offset + sexp[0].col + 1; - } else if (sexp.length > 3 && sexp[1].line === sexp[3].line) { - if (sexp[1].token === '(') { - return settings.offset + sexp[1].col; - } - return settings.offset + sexp[3].col; - } else if (sexp[0].line === sexp[1].line) { - return settings.offset + settings.indent + sexp[0].col; - } else { - var next_tokens = sexp.slice(2); - for (var i = 0; i < next_tokens.length; ++i) { - var token = next_tokens[i]; - if (token.token.trim()) { - return token.col; - } - } - } - } else { - return 0; - } - return spaces + settings.indent; - }; - // ---------------------------------------------------------------------- - function Ahead(pattern) { - this.pattern = pattern; - } - // ---------------------------------------------------------------------- - Ahead.prototype.match = function(string) { - return string.match(this.pattern); - }; - // ---------------------------------------------------------------------- - function Pattern(pattern, flag) { - this.pattern = pattern; - this.flag = flag; - } - // ---------------------------------------------------------------------- - Formatter.Pattern = Pattern; - Formatter.Ahead = Ahead; - const notParen = new Ahead(/[^)]/); - const glob = Symbol.for('*'); - const sexp = new Pattern(['(', glob, ')'], '+'); - const symbol = new Pattern([Symbol.for('symbol')], '?'); - const let_value = new Pattern(['(', Symbol.for('symbol'), glob, ')'], '+'); - // rules for breaking S-Expressions into lines - Formatter.rules = [ - [['(', 'begin'], 1], - [['(', 'begin', sexp], 1, notParen], - [['(', /^let\*?$/, symbol, '(', let_value, ')'], 1], - [['(', /^let\*?$/, symbol, '(', let_value], 2, notParen], - [['(', /^let\*?$/, symbol, ['(', let_value, ')'], sexp], 1, notParen], - [[/(?!lambda)/, '(', glob, ')'], 1, notParen], - [['(', 'if', /[^()]/], 1], - [['(', 'if', /[^()]/, glob], 1], - [['(', 'if', ['(', glob, ')']], 1], - [['(', 'if', ['(', glob, ')'], /[^()]/], 1], - [['(', 'if', ['(', glob, ')'], ['(', glob, ')']], 1, notParen], - [['(', /^(define|lambda)/, ['(', glob, ')'], string_re], 1], - [['(', /^(define|lambda)/, '(', glob, ')'], 1], - [['(', /^(define|lambda)/, ['(', glob, ')'], string_re, sexp], 1, notParen], - [['(', /^(define|lambda)/, ['(', glob, ')'], sexp], 1, notParen] - ]; - // ---------------------------------------------------------------------- - Formatter.prototype.break = function() { - var code = this._code.replace(/\n[ \t]*/g, '\n '); - const token = t => { - if (t.token.match(string_re)) { - return t.token; - } else { - return t.token.replace(/\s+/, ' '); - } - }; - var tokens = tokenize(code, true).map(token).filter(t => t !== '\n'); - const { rules } = Formatter; - for (let i = 0; i < tokens.length; ++i) { - if (!tokens[i].trim()) { - continue; - } - var sub = tokens.slice(0, i); - var sexp = {}; - rules.map(b => b[1]).forEach(count => { - if (!sexp[count]) { - sexp[count] = previousSexp(sub, count); - } - }); - for (let [pattern, count, ext] of rules) { - var m = match(pattern, sexp[count].filter(t => t.trim())); - var next = tokens.slice(i).find(t => t.trim()); - if (m && (ext instanceof Ahead && ext.match(next) || !ext)) { - tokens.splice(i, 0, '\n'); - i++; - continue; - } - } - } - this._code = tokens.join(''); - return this; - }; - // ---------------------------------------------------------------------- - Formatter.prototype._spaces = function(i) { - return new Array(i + 1).join(' '); - }; - // ---------------------------------------------------------------------- - // :: auto formatting of code, it require to have newlines - // ---------------------------------------------------------------------- - Formatter.prototype.format = function format(options) { - // prepare code with single space after newline - // so we have space token to align - var code = this._code.replace(/[ \t]*\n[ \t]*/g, '\n '); - var tokens = tokenize(code, true); - var settings = this._options(options); - var indent = 0; - var offset = 0; - for (var i = 0; i < tokens.length; ++i) { - var token = tokens[i]; - if (token.token === '\n') { - indent = this._indent(tokens.slice(0, i), settings); - offset += indent; - if (tokens[i + 1]) { - tokens[i + 1].token = this._spaces(indent); - // because we have single space as initial indent - indent--; - offset--; - for (var j = i + 2; j < tokens.length; ++j) { - tokens[j].offset += offset; - tokens[j].col += indent; - if (tokens[j].token === '\n') { - // ++i is called after the loop - i = j - 1; - break; - } - } - } - } - } - return tokens.map(token => { - if (token.token.match(string_re)) { - if (token.token.match(/\n/)) { - var spaces = new Array(token.col + 1).join(' '); - var lines = token.token.split('\n'); - token.token = [lines[0]].concat(lines.slice(1).map(line => { - return spaces + line; - })).join('\n'); - } - } - return token.token; - }).join(''); - }; - // ---------------------------------------------------------------------- - // :: flatten nested arrays - // :: source: https://stackoverflow.com/a/27282907/387194 - // ---------------------------------------------------------------------- - function flatten(array, mutable) { - var toString = Object.prototype.toString; - var arrayTypeStr = '[object Array]'; - - var result = []; - var nodes = (mutable && array) || array.slice(); - var node; - - if (!array.length) { - return result; - } - - node = nodes.pop(); - - do { - if (toString.call(node) === arrayTypeStr) { - nodes.push.apply(nodes, node); - } else { - result.push(node); - } - } while (nodes.length && (node = nodes.pop()) !== undefined); - - result.reverse(); // we reverse result to restore the original order - return result; - } - // ---------------------------------------------------------------------- - // detect if object is ES6 Symbol that work with polyfills - // ---------------------------------------------------------------------- - function isSymbol(x) { - return typeof x === 'symbol' || - typeof x === 'object' && - Object.prototype.toString.call(x) === '[object Symbol]'; - } - // ---------------------------------------------------------------------- - // :: LSymbol constructor - // ---------------------------------------------------------------------- - function LSymbol(name) { - if (typeof this !== 'undefined' && this.constructor !== LSymbol || - typeof this === 'undefined') { - return new LSymbol(name); - } - this.name = name; - } - // ---------------------------------------------------------------------- - LSymbol.is = function(symbol, name) { - return symbol instanceof LSymbol && - ((typeof name === 'string' && symbol.name === name) || - (name instanceof RegExp && name.test(symbol.name))); - }; - // ---------------------------------------------------------------------- - LSymbol.prototype.toJSON = LSymbol.prototype.toString = function() { - //return '<#symbol \'' + this.name + '\'>'; - if (isSymbol(this.name)) { - return this.name.toString().replace(/^Symbol\(([^)]+)\)/, '$1'); - } - return this.name; - }; - // ---------------------------------------------------------------------- - // :: Nil constructor with only once instance - // ---------------------------------------------------------------------- - function Nil() {} - Nil.prototype.toString = function() { - return '()'; - }; - var nil = new Nil(); - // ---------------------------------------------------------------------- - // :: Pair constructor - // ---------------------------------------------------------------------- - function Pair(car, cdr) { - if (typeof this !== 'undefined' && this.constructor !== Pair || - typeof this === 'undefined') { - return new Pair(car, cdr); - } - this.car = car; - this.cdr = cdr; - } - - // ---------------------------------------------------------------------- - function emptyList() { - return new Pair(undefined, nil); - } - // ---------------------------------------------------------------------- - function toArray(name, deep) { - return function recur(list) { - typecheck(name, list, ['pair', 'nil']); - if (list instanceof Pair && list.isEmptyList()) { - return []; - } - var result = []; - var node = list; - while (true) { - if (node instanceof Pair) { - if (node.haveCycles('cdr')) { - break; - } - var car = node.car; - if (deep && car instanceof Pair) { - car = this.get(name).call(this, car); - } - result.push(car); - node = node.cdr; - } else { - break; - } - } - return result; - }; - } - // ---------------------------------------------------------------------- - Pair.prototype.flatten = function() { - return Pair.fromArray(flatten(this.toArray())); - }; - // ---------------------------------------------------------------------- - Pair.prototype.length = function() { - if (isEmptyList(this)) { - return 0; - } - var len = 0; - var node = this; - while (true) { - if (!node || node === nil || !(node instanceof Pair) || - node.haveCycles('cdr')) { - break; - } - len++; - node = node.cdr; - } - return len; - }; - - // ---------------------------------------------------------------------- - Pair.prototype.clone = function() { - var visited = new Map(); - function clone(node) { - if (node instanceof Pair) { - if (visited.has(node)) { - return visited.get(node); - } - var pair = new Pair(); - visited.set(node, pair); - pair.car = clone(node.car); - pair.cdr = clone(node.cdr); - pair.cycles = node.cycles; - return pair; - } - return node; - } - return clone(this); - }; - - // ---------------------------------------------------------------------- - Pair.prototype.toArray = function() { - if (this.isEmptyList()) { - return []; - } - var result = []; - if (this.car instanceof Pair) { - result.push(this.car.toArray()); - } else { - result.push(this.car); - } - if (this.cdr instanceof Pair) { - result = result.concat(this.cdr.toArray()); - } - return result; - }; - - // ---------------------------------------------------------------------- - Pair.prototype.isEmptyList = function() { - return typeof this.car === 'undefined' && this.cdr === nil; - }; - - // ---------------------------------------------------------------------- - Pair.fromArray = function(array) { - if (array instanceof Pair) { - return array; - } - if (array.length && !(array instanceof Array)) { - array = [...array]; - } - if (array.length === 0) { - return emptyList(); - } else { - var car; - if (array[0] instanceof Array) { - car = Pair.fromArray(array[0]); - } else { - car = array[0]; - } - if (array.length === 1) { - return new Pair(car, nil); - } else { - return new Pair(car, Pair.fromArray(array.slice(1))); - } - } - }; - - // ---------------------------------------------------------------------- - Pair.prototype.toObject = function() { - var node = this; - var result = {}; - while (true) { - if (node instanceof Pair && node.car instanceof Pair) { - var pair = node.car; - var name = pair.car; - if (name instanceof LSymbol) { - name = name.name; - } - var cdr = pair.cdr; - if (cdr instanceof Pair) { - cdr = cdr.toObject(); - } - if (cdr instanceof LNumber) { - cdr = cdr.valueOf(); - } - result[name] = cdr; - node = node.cdr; - } else { - break; - } - } - return result; - }; - - // ---------------------------------------------------------------------- - Pair.fromPairs = function(array) { - return array.reduce((list, pair) => { - return new Pair( - new Pair( - new LSymbol(pair[0]), - pair[1] - ), - list - ); - }, nil); - }; - - // ---------------------------------------------------------------------- - Pair.fromObject = function(obj) { - var array = Object.keys(obj).map((key) => [key, obj[key]]); - return Pair.fromPairs(array); - }; - - // ---------------------------------------------------------------------- - Pair.prototype.reduce = function(fn) { - var node = this; - var result = nil; - while (true) { - if (node !== nil) { - result = fn(result, node.car); - node = node.cdr; - } else { - break; - } - } - return result; - }; - - // ---------------------------------------------------------------------- - Pair.prototype.reverse = function() { - if (this.haveCycles()) { - throw new Error("You can't reverse list that have cycles"); - } - var node = this; - var prev = nil; - while (node !== nil) { - var next = node.cdr; - node.cdr = prev; - prev = node; - node = next; - } - return prev; - }; - - // ---------------------------------------------------------------------- - Pair.prototype.transform = function(fn) { - var visited = []; - function recur(pair) { - if (pair instanceof Pair) { - if (pair.replace) { - delete pair.replace; - return pair; - } - var car = fn(pair.car); - if (car instanceof Pair) { - car = recur(car); - visited.push(car); - } - var cdr = fn(pair.cdr); - if (cdr instanceof Pair) { - cdr = recur(cdr); - visited.push(cdr); - } - return new Pair(car, cdr); - } - return pair; - } - return recur(this); - }; - - // ---------------------------------------------------------------------- - Pair.prototype.map = function(fn) { - if (typeof this.car !== 'undefined') { - return new Pair(fn(this.car), isEmptyList(this.cdr) ? nil : this.cdr.map(fn)); - } else { - return nil; - } - }; - - // ---------------------------------------------------------------------- - function toString(value) { - if (typeof value === 'function') { - return '<#function ' + (value.name || 'anonymous') + '>'; - } else if (typeof value === 'string') { - return JSON.stringify(value).replace(/\\n/g, '\n'); - } else if (isPromise(value)) { - return '<#Promise>'; - } else if (value instanceof LSymbol || - value instanceof LNumber || - value instanceof RegExp || - value instanceof Pair || - value === nil) { - return value.toString(); - } else if (value instanceof Array) { - return value.map(toString); - } else if (typeof value === 'object') { - if (value === null) { - return 'null'; - } - var name = value.constructor.name; - if (name === 'Object') { - return JSON.stringify(value); - } - return '<#object(' + value.constructor.name + ')>'; - } else if (typeof value !== 'undefined') { - return value; - } - } - - // ---------------------------------------------------------------------------- - Pair.prototype.markCycles = function() { - markCycles(this); - return this; - }; - - // ---------------------------------------------------------------------------- - Pair.prototype.haveCycles = function(name = null) { - if (!name) { - return this.haveCycles('car') || this.haveCycles('cdr'); - } - return !!(this.cycles && this.cycles[name]); - }; - - // ---------------------------------------------------------------------------- - function markCycles(pair) { - var seenPairs = []; - var cycles = []; - function cycleName(pair) { - if (pair instanceof Pair) { - if (seenPairs.includes(pair)) { - if (!cycles.includes(pair)) { - cycles.push(pair); - } - return `#${cycles.length - 1}#`; - } - } - } - function detect(pair) { - if (pair instanceof Pair) { - seenPairs.push(pair); - var cycles = {}; - var carCycle = cycleName(pair.car); - var cdrCycle = cycleName(pair.cdr); - if (carCycle) { - cycles['car'] = carCycle; - } else { - detect(pair.car); - } - if (cdrCycle) { - cycles['cdr'] = cdrCycle; - } else { - detect(pair.cdr); - } - if (carCycle || cdrCycle) { - pair.cycles = cycles; - } else if (pair.cycles) { - delete pair.cycles; - } - } - } - detect(pair); - } - - // ---------------------------------------------------------------------- - Pair.prototype.toString = function() { - var arr = ['(']; - if (this.car !== undefined) { - var value; - if (this.cycles && this.cycles.car) { - value = this.cycles.car; - } else { - value = toString(this.car); - } - if (value !== undefined) { - arr.push(value); - } - if (this.cdr instanceof Pair) { - if (this.cycles && this.cycles.cdr) { - arr.push(' . '); - arr.push(this.cycles.cdr); - } else { - var name; - if (this.cycles && this.cycles.cdr) { - name = this.cycles.cdr; - } - var cdr = this.cdr.toString(name).replace(/^\(|\)$/g, ''); - arr.push(' '); - arr.push(cdr); - } - } else if (typeof this.cdr !== 'undefined' && this.cdr !== nil) { - arr = arr.concat([' . ', toString(this.cdr)]); - } - } - arr.push(')'); - return arr.join(''); - }; - - // ---------------------------------------------------------------------- - Pair.prototype.set = function(prop, value) { - this[prop] = value; - if (value instanceof Pair) { - this.markCycles(); - } - }; - - // ---------------------------------------------------------------------- - Pair.prototype.append = function(arg) { - if (arg instanceof Array) { - return this.append(Pair.fromArray(arg)); - } - var p = this; - if (p.car === undefined) { - if (arg instanceof Pair) { - this.car = arg.car; - this.cdr = arg.cdr; - } else { - this.car = arg; - } - } else if (arg !== nil) { - while (true) { - if (p instanceof Pair && p.cdr !== nil) { - p = p.cdr; - } else { - break; - } - } - p.cdr = arg; - } - return this; - }; - - // ---------------------------------------------------------------------- - function equal(x, y) { - if (x instanceof LNumber && y instanceof LNumber) { - return x.cmp(y) === 0; - } else if (typeof x === 'number' || typeof y === 'number') { - return LNumber(x).cmp(LNumber(y)); - } else if (x instanceof LSymbol && y instanceof LSymbol) { - return x.name === y.name; - } else { - return x === y; - } - } - // ---------------------------------------------------------------------- - function isEmptyList(x) { - return x instanceof Pair && x.isEmptyList() || x === nil; - } - // ---------------------------------------------------------------------- - // :: Macro constructor - // ---------------------------------------------------------------------- - function Macro(name, fn, doc) { - if (typeof this !== 'undefined' && this.constructor !== Macro || - typeof this === 'undefined') { - return new Macro(name, fn); - } - typecheck('Macro', name, 'string', 1); - typecheck('Macro', fn, 'function', 2); - if (doc) { - this.__doc__ = trimLines(doc); - } - this.name = name; - this.fn = fn; - } - // ---------------------------------------------------------------------- - Macro.defmacro = function(name, fn, doc) { - var macro = new Macro(name, fn, doc); - macro.defmacro = true; - return macro; - }; - // ---------------------------------------------------------------------- - Macro.prototype.invoke = function(code, { env, dynamic_scope, error }, macro_expand) { - var args = { - dynamic_scope, - error, - macro_expand - }; - var result = this.fn.call(env, code, args, this.name); - return macro_expand ? quote(result) : result; - }; - // ---------------------------------------------------------------------- - Macro.prototype.toString = function() { - return '#'; - }; - // ---------------------------------------------------------------------- - var macro = 'define-macro'; - // ---------------------------------------------------------------------- - function macroExpand(single) { - return async function(code, args) { - var env = args['env'] = this; - async function traverse(node) { - if (node instanceof Pair && node.car instanceof LSymbol) { - try { - var value = env.get(node.car); - if (value instanceof Macro && value.defmacro) { - var result = await value.invoke(node.cdr, args, true); - if (result instanceof Pair) { - return result; - } - } - } catch (e) { - // ignore variables - } - } - // CYCLE DETECT - var car = node.car; - if (car instanceof Pair) { - car = await traverse(car); - } - var cdr = node.cdr; - if (cdr instanceof Pair) { - cdr = await traverse(cdr); - } - var pair = new Pair(car, cdr); - return pair; - } - var new_code = code; - if (single) { - return quote((await traverse(code)).car); - } else { - while (true) { - new_code = await traverse(code); - if (code.toString() === new_code.toString()) { - break; - } - code = new_code; - } - return quote(new_code.car); - } - }; - } - // ---------------------------------------------------------------------- - // :: check for nullish values - function isNull(value) { - return typeof value === 'undefined' || value === nil || value === null; - } - // ---------------------------------------------------------------------- - function isPromise(o) { - return o instanceof Promise || - (o && typeof o !== 'undefined' && typeof o.then === 'function'); - } - // ---------------------------------------------------------------------- - // :: Function utilities - // ---------------------------------------------------------------------- - // :: weak version fn.bind as function - it can be rebinded and - // :: and applied with different context after bind - // ---------------------------------------------------------------------- - function weakBind(fn, context, ...args) { - let binded = function(...moreArgs) { - const args = [...binded.__bind.args, ...moreArgs]; - return binded.__bind.fn.apply(context, args); - }; - hiddenProp(binded, 'name', fn.name); - hiddenProp(binded, '__bound__', true); - if (fn.__doc__) { - binded.__doc__ = fn.__doc__; - } - if (fn.__code__) { - binded.__code__ = fn.__code__; - } - binded.__bind = { - args: fn.__bind ? fn.__bind.args.concat(args) : args, - fn: fn.__bind ? fn.__bind.fn : fn - }; - binded.toString = function() { - return binded.__bind.fn.toString(); - }; - binded.apply = function(context, args) { - return binded.__bind.fn.apply(context, args); - }; - binded.call = function(context, ...args) { - return binded.__bind.fn.call(context, ...args); - }; - binded.bind = function(context, ...moreArgs) { - return weakBind(binded, context, ...moreArgs); - }; - return setFnLength(binded, binded.__bind.fn.length); - } - // ---------------------------------------------------------------------- - function unbind(obj) { - if (typeof obj === 'function' && obj.__bind) { - return obj.__bind.fn; - } - return obj; - } - // ---------------------------------------------------------------------- - // :: function bind fn with context but it also move all props - // :: mostly used for Object function - // ---------------------------------------------------------------------- - var exludedNames = ['name', 'length', 'caller', 'callee', 'arguments', 'prototype']; - function filterFnNames(name) { - return !exludedNames.includes(name); - } - // ---------------------------------------------------------------------- - function hiddenProp(obj, name, value) { - Object.defineProperty(obj, Symbol.for(name), { - get: () => value, - set: () => {}, - configurable: false, - enumerable: false - }); - } - // ---------------------------------------------------------------------- - function bindWithProps(fn, context) { - const bound = fn.bind(context); - const props = Object.getOwnPropertyNames(fn).filter(filterFnNames); - props.forEach(prop => { - bound[prop] = fn[prop]; - }); - hiddenProp(bound, '__bound__', true); - if (isNativeFunction(fn)) { - hiddenProp(bound, '__native__', true); - } - return bound; - } - // ---------------------------------------------------------------------- - function isBoundFunction(obj) { - if (typeof obj === 'fuction') { - obj.__bound__ = false; - return obj.__bound__ === true; - } - } - // ---------------------------------------------------------------------- - function setFnLength(fn, length) { - try { - Object.defineProperty(fn, 'length', { - get: function() { - return length; - } - }); - return fn; - } catch (e) { - // hack that create function with specific length should work for browsers - // that don't support Object.defineProperty like old IE - var args = new Array(length).fill(0).map((_, i) => 'a' + i).join(','); - var wrapper = new Function(`f`, `return function(${args}) { - return f.apply(this, arguments); - };`); - return wrapper(fn); - } - } - // ---------------------------------------------------------------------- - function isNativeFunction(fn) { - var native = Symbol.for('__native__'); - return typeof fn === 'function' && - fn.toString().match(/\{\s*\[native code\]\s*\}/) && - ((fn.name.match(/^bound /) && fn[native] === true) || - (!fn.name.match(/^bound /) && !fn[native])); - } - // ---------------------------------------------------------------------- - // :: function that return macro for let and let* - // ---------------------------------------------------------------------- - function let_macro(asterisk) { - var name = 'let' + (asterisk ? '*' : ''); - return Macro.defmacro(name, function(code, options) { - var { dynamic_scope, error, macro_expand } = options; - var args; - // named let: - // (let iter ((x 10)) (iter (- x 1))) -> (let* ((iter (lambda (x) ... - if (code.car instanceof LSymbol) { - if (!(code.cdr.car instanceof Pair)) { - throw new Error('let require list of pairs'); - } - var params = code.cdr.car.map(pair => pair.car); - args = code.cdr.car.map(pair => pair.cdr.car); - return Pair.fromArray([ - LSymbol('let*'), - [[code.car, Pair( - LSymbol('lambda'), - Pair(params, code.cdr.cdr))]], - Pair(code.car, args) - ]); - } else if (macro_expand) { - // Macro.defmacro are special macros that should return lisp code - // here we use evaluate, so we need to check special flag set by - // macroexpand to prevent evaluation of code in normal let - return; - } - var self = this; - args = this.get('list->array')(code.car); - var env = self.inherit('let'); - var i = 0; - return (function loop() { - var pair = args[i++]; - function set(value) { - if (isPromise(value)) { - return value.then(set); - } else if (typeof value === 'undefined') { - env.set(pair.car, nil); - } else { - env.set(pair.car, value); - } - } - if (dynamic_scope) { - dynamic_scope = asterisk ? env : self; - } - if (!pair) { - var output = new Pair(new LSymbol('begin'), code.cdr); - return evaluate(output, { - env, - dynamic_scope, - error - }); - } else { - var value = evaluate(pair.cdr.car, { - env: asterisk ? env : self, - dynamic_scope, - error - }); - return unpromise(set(value), loop); - } - })(); - }); - } - // ------------------------------------------------------------------------- - function pararel(name, fn) { - return new Macro(name, function(code, { dynamic_scope, error } = {}) { - var env = this; - if (dynamic_scope) { - dynamic_scope = this; - } - var node = code; - var results = []; - while (node instanceof Pair && !isEmptyList(node)) { - results.push(evaluate(node.car, { env, dynamic_scope, error })); - node = node.cdr; - } - var havePromises = results.filter(isPromise).length; - if (havePromises) { - return Promise.all(results).then(fn.bind(this)); - } else { - return fn.call(this, results); - } - }); - } - // ------------------------------------------------------------------------- - function guardMathCall(fn, ...args) { - args.forEach(arg => { - typecheck('', arg, 'number'); - }); - return fn(...args); - } - // ---------------------------------------------------------------------- - function pipe(...fns) { - fns.forEach((fn, i) => { - typecheck('pipe', fn, 'function', i + 1); - }); - return function(...args) { - return fns.reduce((args, f) => [f(...args)], args)[0]; - }; - } - // ------------------------------------------------------------------------- - function compose(...fns) { - fns.forEach((fn, i) => { - typecheck('compose', fn, 'function', i + 1); - }); - return pipe(...fns.reverse()); - } - // ------------------------------------------------------------------------- - // :: fold functions generator - // ------------------------------------------------------------------------- - function fold(name, fold) { - var self = this; - return function recur(fn, init, ...lists) { - typecheck(name, fn, 'function'); - if (lists.some(l => isEmptyList(l) || isNull(l))) { - if (typeof init === 'number') { - return LNumber(init); - } - return init; - } else { - return fold.call(self, recur, fn, init, ...lists); - } - }; - } - // ------------------------------------------------------------------------- - function limitMathOp(n, fn) { - // + 1 so it inlcude function in guardMathCall - return limit(n + 1, curry(guardMathCall, fn)); - } - // ------------------------------------------------------------------------- - var singleMathOp = curry(limitMathOp, 1); - var binaryMathOp = curry(limitMathOp, 2); - // ------------------------------------------------------------------------- - function reduceMathOp(fn) { - return function(...args) { - if (args.length) { - return args.reduce(binaryMathOp(fn)); - } - }; - } - // ------------------------------------------------------------------------- - function curry(fn, ...init_args) { - typecheck('curry', fn, 'function'); - var len = fn.length; - return function() { - var args = init_args.slice(); - function call(...more_args) { - args = args.concat(more_args); - if (args.length >= len) { - return fn.apply(this, args); - } else { - return call; - } - } - return call.apply(this, arguments); - }; - } - // ------------------------------------------------------------------------- - // return function with limited number of arguments - function limit(n, fn) { - typecheck('limit', fn, 'function', 2); - return function(...args) { - return fn(...args.slice(0, n)); - }; - } - // ------------------------------------------------------------------------------- - var get = doc(function get(obj, ...args) { - if (typeof obj === 'function' && obj.__bind) { - obj = obj.__bind.fn; - } - for (let arg of args) { - var name = arg instanceof LSymbol ? arg.name : arg; - var value = obj[name]; - if (typeof value === 'function') { - value = bindWithProps(value, obj); - } - obj = value; - } - return value; - }, `(. obj . args) - (get obj . args) - - Function use object as based and keep using arguments to get the - property of JavaScript object. Arguments need to be a strings. - e.g. \`(. console "log")\` if you use any function inside LIPS is - will be weakly bind (can be rebind), so you can call this log function - without problem unlike in JavaScript when you use - \`var log = console.log\`. - \`get\` is an alias because . don't work in every place, you can't - pass it as argument`); - // ------------------------------------------------------------------------- - // :: Number wrapper that handle BigNumbers - // ------------------------------------------------------------------------- - function LNumber(n, float) { - if (typeof this !== 'undefined' && this.constructor !== LNumber || - typeof this === 'undefined') { - return new LNumber(n, float === true ? true : undefined); - } - if (n instanceof LNumber) { - return LNumber(n.value, n.float); - } - if (!LNumber.isNumber(n)) { - throw new Error(`You can't create LNumber from ${type(n)}`); - } - // prevent infite loop https://github.com/indutny/bn.js/issues/186 - if (n === null) { - n = 0; - } - if (LNumber.isFloat(n)) { - this.value = n; - } else if (float) { - this.value = n; - this.float = true; - } else if (typeof BigInt !== 'undefined') { - if (typeof n !== 'bigint') { - this.value = BigInt(n); - } else { - this.value = n; - } - } else if (typeof BN !== 'undefined' && !(n instanceof BN)) { - this.value = new BN(n); - } else { - this.value = n; - } - } - // ------------------------------------------------------------------------- - LNumber.isFloat = function isFloat(n) { - return Number(n) === n && n % 1 !== 0; - }; - // ------------------------------------------------------------------------- - LNumber.isNumber = function(n) { - return n instanceof LNumber || - (!Number.isNaN(n) && LNumber.isNative(n) || LNumber.isBN(n)); - }; - // ------------------------------------------------------------------------- - LNumber.isNative = function(n) { - return typeof n === 'bigint' || typeof n === 'number'; - }; - // ------------------------------------------------------------------------- - LNumber.isBN = function(n) { - return typeof BN !== 'undefined' && n instanceof BN; - }; - // ------------------------------------------------------------------------- - LNumber.prototype.toString = LNumber.prototype.toJSON = function() { - return this.value.toString(); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.isBigNumber = function() { - return typeof this.value === 'bigint' || - typeof BN !== 'undefined' && !(this.value instanceof BN); - }; - // ------------------------------------------------------------------------- - ['floor', 'ceil', 'round'].forEach(fn => { - LNumber.prototype[fn] = function() { - if (this.float || LNumber.isFloat(this.value)) { - return LNumber(Math[fn](this.value)); - } else { - return LNumber(this.value); - } - }; - }); - // ------------------------------------------------------------------------- - LNumber.prototype.valueOf = function() { - if (LNumber.isNative(this.value)) { - return Number(this.value); - } else if (LNumber.isBN(this.value)) { - return this.value.toNumber(); - } - }; - // ------------------------------------------------------------------------- - LNumber.prototype.coerce = function(n) { - if (n === null) { - n = 0; - } - var value; - if (n instanceof LNumber) { - value = n.value; - } else { - value = n; - } - if (LNumber.isFloat(value)) { - // skip - } else if (typeof this.value === 'bigint' && typeof value !== 'bigint') { - value = BigInt(value); - } else if (typeof BN !== 'undefined' && this.value instanceof BN && - !value instanceof BN) { - value = new BN(value); - } - return LNumber(value); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.isFloat = function() { - return !!(LNumber.isFloat(this.value) || this.float); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.op = function(op, n) { - var ops = { - '*': function(a, b) { - return a * b; - }, - '+': function(a, b) { - return a + b; - }, - '-': function(a, b) { - return a - b; - }, - '/': function(a, b) { - return a / b; - }, - '%': function(a, b) { - return a % b; - }, - '|': function(a, b) { - return a | b; - }, - '&': function(a, b) { - return a & b; - }, - '~': function(a) { - return ~a; - }, - '>>': function(a, b) { - return a >> b; - }, - '<<': function(a, b) { - return a << b; - } - }; - if (LNumber.isFloat(n) || (n instanceof LNumber && n.isFloat()) || - this.isFloat()) { - var value = n instanceof LNumber ? n.valueOf() : n; - return LNumber(ops[op](this.valueOf(), value), true); - } - n = this.coerce(n); - if (LNumber.isNative(n.value) && LNumber.isNative(this.value)) { - return LNumber(ops[op](this.value, n.value)); - } - if (LNumber.isBN(this.value) && LNumber.isBN(n.value)) { - var bn_op = { - '+': 'iadd', - '-': 'isub', - '*': 'imul', - '/': 'idiv', - '%': 'imod', - '|': 'ior', - '&': 'iand', - '~': 'inot', - '<<': 'ishrn', - '>>': 'ishln' - }; - op = bn_op[op]; - return LNumber(this.value.clone()[op](n, value)); - } - }; - // ------------------------------------------------------------------------- - var ops = { - '+': 'add', - '-': 'sub', - '*': 'mul', - '/': 'div', - '%': 'mod', - '|': 'or', - '&': 'and', - '~': 'neg', - '<<': 'shl', - '>>': 'shr' - }; - Object.keys(ops).forEach(op => { - LNumber.prototype[ops[op]] = function(n) { - return this.op(op, n); - }; - }); - // ------------------------------------------------------------------------- - LNumber.prototype.sqrt = function() { - var value; - if (LNumber.isNative(this.value)) { - value = Math.sqrt(this.value); - } else if (LNumber.isBN(this.value)) { - value = this.value.sqrt(); - } - return new LNumber(value); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.pow = function(n) { - n = this.coerce(n); - if (LNumber.isNative(this.value)) { - try { - var pow = new Function('a,b', 'return a**b;'); - n.value = pow(this.value, n.value); - } catch (e) { - throw new Error("Power operator not supported"); - } - } else if (LNumber.isBN(this.value)) { - n.value = this.value.pow(n.value); - } else { - n.value = Math.pow(this.value, n.value); - } - return n; - }; - // ------------------------------------------------------------------------- - LNumber.prototype.neg = function() { - var value = this.value; - if (LNumber.isNative(value)) { - value = -value; - } else if (LNumber.isBN(value)) { - value = value.neg(); - } - return new LNumber(value); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.abs = function() { - var value = this.value; - if (LNumber.isNative(this.value)) { - if (value < 0) { - value = -value; - } - } else if (LNumber.isBN(value)) { - value.iabs(); - } - return new LNumber(value); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.isOdd = function() { - if (LNumber.isNative(this.value)) { - if (this.isBigNumber()) { - return this.value % BigInt(2) === BigInt(1); - } - return this.value % 2 === 1; - } else if (LNumber.isBN(this.value)) { - return this.value.isOdd(); - } - }; - // ------------------------------------------------------------------------- - LNumber.prototype.isEven = function() { - return !this.isOdd(); - }; - // ------------------------------------------------------------------------- - LNumber.prototype.cmp = function(n) { - n = this.coerce(n); - if (LNumber.isNative(this.value)) { - if (this.value < n.value) { - return -1; - } else if (this.value === n.value) { - return 0; - } else { - return 1; - } - } else if (LNumber.isBN(this.value)) { - return this.value.cmp(n.value); - } - }; - // ------------------------------------------------------------------------- - // :: Environment constructor (parent and name arguments are optional) - // ------------------------------------------------------------------------- - function Environment(obj, parent, name) { - if (arguments.length === 1) { - if (typeof arguments[0] === 'object') { - obj = arguments[0]; - this.parent = null; - } else if (typeof arguments[0] === 'string') { - obj = {}; - parent = {}; - name = arguments[0]; - } - } - this.env = obj; - this.parent = parent; - this.name = name || 'anonymous'; - } - // ------------------------------------------------------------------------- - Environment.prototype.inherit = function(name, obj = {}) { - if (typeof name === "object") { - obj = name; - } - if (!name || typeof name === "object") { - name = 'child of ' + (this.name || 'unknown'); - } - return new Environment(obj || {}, this, name); - }; - // ------------------------------------------------------------------------- - Environment.prototype.get = function(symbol, options = {}) { - // we keep original environment as context for bind - // so print will get user stdout - const { weak, context = this, throwError = true } = options; - var value; - var defined = false; - if (symbol instanceof LSymbol) { - if (symbol.name in this.env) { - value = this.env[symbol.name]; - defined = true; - } - } else if (typeof symbol === 'string') { - if (typeof this.env[symbol] !== 'undefined') { - value = this.env[symbol]; - defined = true; - } - } - if (defined) { - if (LNumber.isNumber(value)) { - return LNumber(value); - } - if (value instanceof Pair) { - return value.markCycles(); - } - if (typeof value === 'function') { - // bind only functions that are not binded for case: - // (let ((x Object)) (. x 'keys)) - // second x access is already bound when accessing Object - if (isBoundFunction(value)) { - if (weak) { - return weakBind(value, context); - } - return bindWithProps(value, context); - } - } - return value; - } - if (this.parent instanceof Environment) { - return this.parent.get(symbol, { weak, context, throwError }); - } else { - var name; - if (symbol instanceof LSymbol) { - name = symbol.name; - } else if (typeof symbol === 'string') { - name = symbol; - } - if (name) { - var type = typeof root[name]; - if (type === 'function') { - if (isNativeFunction(root[name])) { - // hard bind of native functions with props for Object - // hard because of console.log - return bindWithProps(root[name], root); - } - return root[name]; - } else if (type !== 'undefined') { - return root[name]; - } - } - } - if (throwError) { - name = (name.name || name).toString(); - throw new Error("Unbound variable `" + name + "'"); - } - }; - // ------------------------------------------------------------------------- - Environment.prototype.set = function(name, value) { - if (LNumber.isNumber(value)) { - value = LNumber(value); - } - if (name instanceof LSymbol) { - name = name.name; - } - this.env[name] = value; - }; - // ------------------------------------------------------------------------- - Environment.prototype.has = function(name) { - return typeof this.env[name] !== 'undefined'; - }; - // ------------------------------------------------------------------------- - Environment.prototype.ref = function(name) { - var env = this; - while (true) { - if (!env) { - break; - } - if (env.has(name)) { - return env; - } - env = env.parent; - } - }; - Environment.prototype.parents = function() { - var env = this; - var result = []; - while (env) { - result.unshift(env); - env = env.parent; - } - return result; - }; - // ------------------------------------------------------------------------- - // :: Quote funtion used to pause evaluation from Macro - // ------------------------------------------------------------------------- - function quote(value) { - if (isPromise(value)) { - return value.then(quote); - } - if (value instanceof Pair || value instanceof LSymbol) { - value.data = true; - } - return value; - } - // ------------------------------------------------------------------------- - // :: Unquote is used for multiple backticks and unquote - // ------------------------------------------------------------------------- - function Unquote(value, count, max) { - this.value = value; - this.count = count; - this.max = max; - } - Unquote.prototype.toString = function() { - return '<#unquote[' + this.count + '] ' + this.value + '>'; - }; - // ------------------------------------------------------------------------- - var gensym = (function() { - var count = 0; - return function(name = null) { - // use ES6 symbol as name for lips symbol (they are unique) - if (name !== null) { - return new LSymbol(Symbol(`#:${name}`)); - } - count++; - return new LSymbol(Symbol(`#:g${count}`)); - }; - })(); - // ------------------------------------------------------------------------- - var global_env = new Environment({ - nil: nil, - 'undefined': undefined, - 'true': true, - 'false': false, - 'NaN': NaN, - // ------------------------------------------------------------------ - stdout: { - write: function(...args) { - console.log(...args); - } - }, - // ------------------------------------------------------------------ - stdin: { - read: function() { - return new Promise((resolve) => { - resolve(prompt('')); - }); - } - }, - // ------------------------------------------------------------------ - help: doc(new Macro('help', function(code, { dynamic_scope, error }) { - var symbol; - if (code.car instanceof LSymbol) { - symbol = code.car; - } else if (code.car instanceof Pair && code.car.car instanceof LSymbol) { - symbol = code.car.car; - } else { - var env = this; - if (dynamic_scope) { - dynamic_scope = this; - } - var ret = evaluate(code.car, { env, error, dynamic_scope }); - if (ret && ret.__doc__) { - return ret.__doc__; - } - } - return this.get(symbol).__doc__; - }), `(help object) - - Macro returns documentation for function or macros including parser - macros but only if called with parser macro symbol like (help \`). - For normal functions and macros you can save the function in variable.`), - // ------------------------------------------------------------------ - cons: doc(function(car, cdr) { - if (isEmptyList(cdr)) { - cdr = nil; - } - return new Pair(car, cdr); - }, `(cons left right) - - Function return new Pair out of two arguments.`), - // ------------------------------------------------------------------ - car: doc(function(list) { - if (list === nil) { - return nil; - } - typecheck('car', list, 'pair'); - if (isEmptyList(list)) { - return nil; - } - return list.car; - }, `(car pair) - - Function returns car (head) of the list/pair.`), - // ------------------------------------------------------------------ - cdr: doc(function(list) { - if (list === nil) { - return nil; - } - typecheck('cdr', list, 'pair'); - if (isEmptyList(list)) { - return nil; - } - return list.cdr; - }, `(cdr pair) - - Function returns cdr (tail) of the list/pair.`), - // ------------------------------------------------------------------ - 'set!': doc(new Macro('set!', function(code, { dynamic_scope, error } = {}) { - if (dynamic_scope) { - dynamic_scope = this; - } - var value = evaluate(code.cdr.car, { env: this, dynamic_scope, error }); - value = resolvePromises(value); - var ref; - function set(key, value) { - if (isPromise(key)) { - return key.then(key => set(key, value)); - } - if (isPromise(value)) { - return value.then(value => set(key, value)); - } - object[key] = value; - return value; - } - if (code.car instanceof Pair && LSymbol.is(code.car.car, '.')) { - var second = code.car.cdr.car; - var thrid = code.car.cdr.cdr.car; - var object = evaluate(second, { env: this, dynamic_scope, error }); - var key = evaluate(thrid, { env: this, dynamic_scope, error }); - return set(key, value); - } - if (!(code.car instanceof LSymbol)) { - throw new Error('set! first argument need to be a symbol or ' + - 'dot accessor that evaluate to object.'); - } - ref = this.ref(code.car.name); - if (!ref) { - ref = this; - } - // we don't return value because we only care about sync of set value - // when value is a promise - return unpromise(value, value => { - ref.set(code.car, value); - }); - }), `(set! name value) - - Macro that can be used to set the value of the variable (mutate) - it search the scope chain until it finds first non emtpy slot and set it.`), - // ------------------------------------------------------------------ - 'set-car!': doc(function(slot, value) { - typecheck('set-car!', slot, 'pair'); - slot.car = value; - }, `(set-car! obj value) - - Function that set car (head) of the list/pair to specified value. - It can destroy the list. Old value is lost.`), - // ------------------------------------------------------------------ - 'set-cdr!': doc(function(slot, value) { - typecheck('set-cdr!', slot, 'pair'); - slot.cdr = value; - }, `(set-cdr! obj value) - - Function that set cdr (tail) of the list/pair to specified value. - It can destroy the list. Old value is lost.`), - // ------------------------------------------------------------------ - 'empty?': doc(function(x) { - return typeof x === 'undefined' || isEmptyList(x); - }, `(empty? object) - - Function return true if value is undfined empty list.`), - // ------------------------------------------------------------------ - assoc: doc(function(key, list) { - if (key instanceof Pair && !(list instanceof Pair)) { - throw new Error('First argument to assoc ned to be a key'); - } - typecheck('assoc', list, 'pair'); - var node = list; - while (true) { - if (!(node instanceof Pair) || this.get('empty?')(node)) { - break; - } - var car = node.car.car; - if (equal(car, key)) { - return node.car; - } else if (!node.haveCycles('cdr')) { - node = node.cdr; - } - } - return nil; - }, `(assoc key alist) - - Function search Alist (list of pairs) until it find the one that - have head set equal to key, and return found pair.`), - // ------------------------------------------------------------------ - gensym: doc( - gensym, - `(gensym) - - Function generate unique symbol, to use with macros as meta name.`), - // ------------------------------------------------------------------ - 'require.resolve': doc(function(path) { - var ret = require.resolve(path); - return ret; - }, `(require.resolve path) - - Return path relative the current module.`), - // ------------------------------------------------------------------ - 'require': doc(function(module) { - return require(module); - }, `(require module) - - Function to be used inside Node.js to import the module.`), - // ------------------------------------------------------------------ - load: doc(function(file) { - typecheck('load', file, 'string'); - var env = this; - if (env.name === '__frame__') { - env = env.parent; - } - if (typeof this.get('global', { throwError: false }) !== 'undefined') { - return new Promise((resolve, reject) => { - require('fs').readFile(file, function(err, data) { - if (err) { - reject(err); - } else { - exec(data.toString(), env).then(() => { - resolve(); - }); - } - }); - }); - } - return root.fetch(file).then(res => res.text()).then((code) => { - return exec(code, env); - }).then(() => { - }); - }, `(load filename) - - Function fetch the file and evaluate its content as LIPS code.`), - // ------------------------------------------------------------------ - 'while': doc(new Macro('while', function(code, { dynamic_scope, error }) { - var self = this; - var begin = new Pair( - new LSymbol('begin'), - code.cdr - ); - var result; - if (dynamic_scope) { - dynamic_scope = self; - } - return (function loop() { - var cond = evaluate(code.car, { - env: self, - dynamic_scope, - error - }); - function next(cond) { - if (cond && !isNull(cond) && !isEmptyList(cond)) { - result = evaluate(begin, { - env: self, - dynamic_scope, - error - }); - if (isPromise(result)) { - return result.then(ret => { - result = ret; - return loop(); - }); - } else { - return loop(); - } - } else { - return result; - } - } - return unpromise(cond, next); - })(); - }), `(while cond . body) - - Macro that create a loop, it exectue body untill cond expression is false`), - // ------------------------------------------------------------------ - 'if': doc(new Macro('if', function(code, { dynamic_scope, error }) { - if (dynamic_scope) { - dynamic_scope = this; - } - var env = this; - var resolve = (cond) => { - typecheck('if', cond, 'boolean'); - if (cond) { - return evaluate(code.cdr.car, { - env, - dynamic_scope, - error - }); - } else { - return evaluate(code.cdr.cdr.car, { - env, - dynamic_scope, - error - }); - } - }; - var cond = evaluate(code.car, { env, dynamic_scope, error }); - return unpromise(cond, resolve); - }), `(if cond true-expr false-expr) - - Macro evaluate condition expression and if the value is true, it - evaluate and return true expression if not it evaluate and return - false expression`), - // ------------------------------------------------------------------ - 'let*': doc( - let_macro(true), - `(let* ((a value-a) (b value-b)) body) - - Macro that creates new environment, then evaluate and assign values to - names and then evaluate the body in context of that environment. - Values are evaluated sequentialy and next value can access to - previous values/names.`), - // ------------------------------------------------------------------ - 'let': doc( - let_macro(false), - `(let ((a value-a) (b value-b)) body) - - Macro that creates new environment, then evaluate and assign values to - names and then evaluate the body in context of that environment. - Values are evaluated sequentialy but you can't access - previous values/names when next are evaluated. You can only get them - from body of let expression.`), - // ------------------------------------------------------------------ - 'begin*': doc(pararel('begin*', function(values) { - return values.pop(); - }), `(begin* . expr) - - This macro is parallel version of begin. It evaluate each expression and - if it's a promise it will evaluate it in parallel and return value - of last expression.`), - // ------------------------------------------------------------------ - 'begin': doc(new Macro('begin', function(code, options) { - var args = Object.assign({ }, options); - var arr = this.get('list->array')(code); - if (args.dynamic_scope) { - args.dynamic_scope = this; - } - args.env = this; - var result; - return (function loop() { - if (arr.length) { - var code = arr.shift(); - var ret = evaluate(code, args); - return unpromise(ret, value => { - result = value; - return loop(); - }); - } else { - return result; - } - })(); - }), `(begin . args) - - Macro runs list of expression and return valuate of the list one. - It can be used in place where you can only have single exression, - like if expression.`), - // ------------------------------------------------------------------ - 'ignore': new Macro('ignore', function(code, { dynamic_scope, error }) { - var args = { env: this, error }; - if (dynamic_scope) { - args.dynamic_scope = this; - } - evaluate(new Pair(new LSymbol('begin'), code), args); - }, `(ignore expression) - - Macro that will evaluate expression and swallow any promises that may - be created. It wil run and ignore any value that may be returned by - expression. The code should have side effects and/or when it's promise - it should resolve to undefined.`), - // ------------------------------------------------------------------ - define: doc(Macro.defmacro('define', function(code, eval_args) { - var env = this; - if (code.car instanceof Pair && - code.car.car instanceof LSymbol) { - var new_code = new Pair( - new LSymbol("define"), - new Pair( - code.car.car, - new Pair( - new Pair( - new LSymbol("lambda"), - new Pair( - code.car.cdr, - code.cdr - ) - ) - ) - ) - ); - return new_code; - } else if (eval_args.macro_expand) { - // prevent evaluation in macroexpand - return; - } - if (eval_args.dynamic_scope) { - eval_args.dynamic_scope = this; - } - eval_args.env = env; - var value = code.cdr.car; - if (value instanceof Pair) { - value = evaluate(value, eval_args); - } else if (value instanceof LSymbol) { - value = env.get(value); - } - if (code.car instanceof LSymbol) { - unpromise(value, value => { - env.set(code.car, value); - }); - } - }), `(define name expression) - (define (function-name . args) body) - - Macro for defining values. It can be used to define variables, - or function. If first argument is list it will create function - with name beeing first element of the list. The macro evalute - code \`(define function (lambda args body))\``), - // ------------------------------------------------------------------ - 'set-obj!': doc(function(obj, key, value) { - var obj_type = typeof obj; - if (isNull(obj) || (obj_type !== 'object' && obj_type !== 'function')) { - var msg = typeErrorMessage('set-obj!', type(obj), ['object', 'function']); - throw new Error(msg); - } - unbind(obj)[key] = value; - }, `(set-obj! obj key value) - - Function set property of JavaScript object`), - 'current-environment': doc(function() { - return this; - }, `(current-environment) - - Function return current environement.`), - // ------------------------------------------------------------------ - 'eval': doc(function(code, env) { - typecheck('eval', code, ['symbol', 'pair', 'array']); - env = env || this; - if (code instanceof LSymbol) { - return env.get(code); - } - if (code instanceof Pair) { - return evaluate(code, { - env, - //dynamic_scope: this, - error: e => { - this.get('error')(e.message); - if (e.code) { - var stack = e.code.map((line, i) => { - return `[${i + 1}]: ${line}`; - }).join('\n'); - this.get('error')(stack); - } - } - }); - } - if (code instanceof Array) { - var _eval = this.get('eval'); - return code.reduce((_, code) => { - return _eval(code, env); - }); - } - }, `(eval list) - - Function evalute LIPS code as list structure.`), - // ------------------------------------------------------------------ - lambda: new Macro('lambda', function(code, { dynamic_scope, error } = {}) { - var self = this; - var __doc__; - if (code.cdr instanceof Pair && - typeof code.cdr.car === 'string' && - code.cdr.cdr !== nil) { - __doc__ = trimLines(code.cdr.car); - } - function lambda(...args) { - var env; - if (dynamic_scope) { - if (!(this instanceof Environment)) { - env = self; - } else { - env = this; - } - } else { - env = self; - } - env = env.inherit('lambda'); - var name = code.car; - var i = 0; - var value; - if (typeof this !== 'undefined') { - env.set('this', this); - } - // arguments and arguments.callee inside lambda function - if (this instanceof Environment) { - env.set('arguments', this.get('arguments')); - env.set('parent.frame', this.get('parent.frame')); - } else { - // this case is for lambda as callback function in JS; e.g. setTimeout - var _args = args.slice(); - _args.callee = lambda; - _args.env = env; - env.set('parent.frame', function() { - return nil; - }); - env.set('arguments', _args); - } - if (name instanceof LSymbol || !isEmptyList(name)) { - while (true) { - if (name.car !== nil) { - if (name instanceof LSymbol) { - // rest argument, can also be first argument - value = Pair.fromArray(args.slice(i)); - env.env[name.name] = value; - break; - } else { - if (typeof args[i] === 'undefined') { - value = nil; - } else { - value = args[i]; - } - env.env[name.car.name] = value; - } - } - if (name.cdr === nil) { - break; - } - i++; - name = name.cdr; - } - } - if (dynamic_scope) { - dynamic_scope = env; - } - var rest = __doc__ ? code.cdr.cdr : code.cdr; - var output = new Pair(new LSymbol('begin'), rest); - return evaluate(output, { env, dynamic_scope, error }); - } - var length = code.car instanceof Pair ? code.car.length() : null; - lambda.__code__ = new Pair(new LSymbol('lambda'), code); - if (!(code.car instanceof Pair)) { - return doc(lambda, __doc__, true); // variable arguments - } - // wrap and decorate with __doc__ - return doc(setFnLength(lambda, length), __doc__, true); - }, `(lambda (a b) body) - (lambda args body) - (lambda (a b . rest) body) - - Macro lambda create new anonymous function, if first element of the body - is string and there is more elements it will be documentation, that can - be read using (help fn)`), - 'macroexpand': new Macro('macroexpand', macroExpand()), - 'macroexpand-1': new Macro('macroexpand-1', macroExpand(true)), - // ------------------------------------------------------------------ - 'define-macro': doc(new Macro(macro, function(macro, { dynamic_scope, error }) { - if (macro.car instanceof Pair && macro.car.car instanceof LSymbol) { - var name = macro.car.car.name; - var __doc__; - if (typeof macro.cdr.car === 'string' && - macro.cdr.cdr !== nil) { - __doc__ = macro.cdr.car; - } - this.env[name] = Macro.defmacro(name, function(code) { - var env = new Environment({}, this, 'defmacro'); - var name = macro.car.cdr; - var arg = code; - while (true) { - if (name === nil) { - break; - } - if (name instanceof LSymbol) { - env.env[name.name] = arg; - break; - } else if (name.car !== nil) { - if (arg === nil) { - env.env[name.car.name] = nil; - } else { - if (arg.car instanceof Pair) { - arg.car.data = true; - } - env.env[name.car.name] = arg.car; - } - } - if (name.cdr === nil) { - break; - } - if (arg !== nil) { - arg = arg.cdr; - } - name = name.cdr; - } - if (dynamic_scope) { - dynamic_scope = env; - } - var eval_args = { - env, - dynamic_scope, - error - }; - // evaluate macro - if (macro.cdr instanceof Pair) { - // this eval will return lips code - var rest = __doc__ ? macro.cdr.cdr : macro.cdr; - var result = rest.reduce(function(result, node) { - return evaluate(node, eval_args); - }); - return unpromise(result, function(result) { - if (typeof result === 'object') { - delete result.data; - } - return result; - }); - } - }, __doc__); - this.env[name].__code__ = new Pair(new LSymbol('define-macro'), macro); - } - }), `(define-macro (name . args) body) - - Meta macro, macro that create new macros, if return value is list structure - it will be evaluated when macro is invoked. You can use quasiquote \` and - unquote , and unquote-splicing ,@ inside to create expression that will be - evaluated on runtime. Macros works like this: if you pass any expression to - macro the arguments will not be evaluated unless macro itself evaluate it. - Because of this macro can manipulate expression (arguments) as lists.`), - // ------------------------------------------------------------------ - quote: doc(new Macro('quote', function(arg) { - return quote(arg.car); - }), `(quote expression) - - Macro that return single lips expression as data (it don't evaluate its - argument). It will return list of pairs if put in front of lips code. - And if put in fron of symbol it will return that symbol not value - associated with that name.`), - 'unquote-splicing': doc(function() { - throw new Error(`You can't call \`unquote-splicing\` outside of quasiquote`); - }, `(unquote-splicing code) - - Special form to be used in quasiquote macro, parser is processing special - characters ,@ and create call to this pseudo function. It can be used - to evalute expression inside and return the value without parenthesis. - the value will be joined to the output list structure.`), - 'unquote': doc(function() { - throw new Error(`You can't call \`unquote\` outside of quasiquote`); - }, `(unquote code) - - Special form to be used in quasiquote macro, parser is processing special - characters , and create call to this pseudo function. It can be used - to evalute expression inside and return the value, the output is inserted - into list structure created by queasiquote.`), - // ------------------------------------------------------------------ - quasiquote: Macro.defmacro('quasiquote', function(arg, env) { - var { dynamic_scope, error } = env; - var self = this; - //var max_unquote = 1; - if (dynamic_scope) { - dynamic_scope = self; - } - function isPair(value) { - return value instanceof Pair; - } - function resolve_pair(pair, fn, test = isPair) { - if (pair instanceof Pair && !isEmptyList(pair)) { - var car = pair.car; - var cdr = pair.cdr; - if (test(car)) { - car = fn(car); - } - if (test(cdr)) { - cdr = fn(cdr); - } - if (isPromise(car) || isPromise(cdr)) { - return Promise.all([car, cdr]).then(([car, cdr]) => { - return new Pair(car, cdr); - }); - } else { - return new Pair(car, cdr); - } - } - return pair; - } - function join(eval_pair, value) { - if (eval_pair instanceof Pair) { - if (isEmptyList(eval_pair) && value === nil) { - return nil; - } - eval_pair.append(value); - } else { - eval_pair = new Pair( - eval_pair, - value - ); - } - return eval_pair; - } - function unquote_splice(pair, unquote_cnt, max_unq) { - if (unquote_cnt < max_unq) { - return new Pair( - new Pair( - pair.car.car, - recur(pair.car.cdr, unquote_cnt, max_unq) - ), - nil - ); - } - var eval_pair = evaluate(pair.car.cdr.car, { - env: self, - dynamic_scope, - error - }); - return unpromise(eval_pair, function(eval_pair) { - if (!(eval_pair instanceof Pair)) { - if (pair.cdr !== nil) { - const msg = "You can't splice atom inside list"; - throw new Error(msg); - } - return eval_pair; - } - // don't create Cycles - if (splices.has(eval_pair)) { - eval_pair = eval_pair.clone(); - } else { - splices.add(eval_pair); - } - const value = recur(pair.cdr, 0, 1); - if (value === nil && eval_pair === nil) { - return undefined; - } - return unpromise(value, value => join(eval_pair, value)); - }); - } - var splices = new Set(); - function recur(pair, unquote_cnt, max_unq) { - if (pair instanceof Pair && !isEmptyList(pair)) { - if (LSymbol.is(pair.car.car, 'unquote-splicing')) { - return unquote_splice(pair, unquote_cnt + 1, max_unq); - } - if (LSymbol.is(pair.car, 'quasiquote')) { - var cdr = recur(pair.cdr, unquote_cnt, max_unq + 1); - return new Pair(pair.car, cdr); - } - if (LSymbol.is(pair.car.car, 'unquote')) { - // + 2 - one for unquote and one for unquote splicing - if (unquote_cnt + 2 === max_unq && - pair.car.cdr instanceof Pair && - pair.car.cdr.car instanceof Pair && - LSymbol.is(pair.car.cdr.car.car, 'unquote-splicing')) { - return new Pair( - new LSymbol('unquote'), - unquote_splice(pair.car.cdr, unquote_cnt + 2, max_unq) - ); - } else if (pair.car.cdr instanceof Pair && - pair.car.cdr.cdr !== nil && - !(pair.car.cdr.car instanceof Pair)) { - // same as in guile if (unquote 1 2 3) it should be - // spliced - scheme spec say it's unspecify but it - // work like in CL - return pair.car.cdr; - } - } - if (LSymbol.is(pair.car, 'quote')) { - return new Pair( - pair.car, - recur(pair.cdr, unquote_cnt, max_unq) - ); - } - if (LSymbol.is(pair.car, 'unquote')) { - unquote_cnt++; - if (unquote_cnt < max_unq) { - return new Pair( - new LSymbol('unquote'), - recur(pair.cdr, unquote_cnt, max_unq) - ); - } - if (unquote_cnt > max_unq) { - throw new Error("You can't call `unquote` outside " + - "of quasiquote"); - } - if (pair.cdr instanceof Pair) { - if (pair.cdr.cdr !== nil) { - if (pair.cdr.car instanceof Pair) { - return unpromise( - recur(pair.cdr.cdr, unquote_cnt, max_unq), - function(value) { - var unquoted = evaluate(pair.cdr.car, { - env: self, - dynamic_scope, - error - }); - return new Pair(unquoted, value); - } - ); - } else { - return pair.cdr; - } - } else { - return evaluate(pair.cdr.car, { - env: self, - dynamic_scope, - error - }); - } - } else { - return pair.cdr; - } - } - return resolve_pair(pair, (pair) => { - return recur(pair, unquote_cnt, max_unq); - }); - } - return pair; - } - function clear(node) { - if (node instanceof Pair) { - delete node.data; - if (!node.haveCycles('car')) { - clear(node.car); - } - if (!node.haveCycles('cdr')) { - clear(node.cdr); - } - } - } - var x = recur(arg.car, 0, 1); - return unpromise(x, value => { - // clear nested data for tests - clear(value); - return quote(value); - }); - }, `(quasiquote list ,value ,@value) - - Similar macro to \`quote\` but inside it you can use special - expressions unquote abbreviated to , that will evaluate expresion inside - and return its value or unquote-splicing abbreviated to ,@ that will - evaluate expression but return value without parenthesis (it will join) - the list with its value. Best used with macros but it can be used outside`), - // ------------------------------------------------------------------ - clone: doc(function(list) { - typecheck('clone', list, 'pair'); - return list.clone(); - }, `(clone list) - - Function return clone of the list.`), - // ------------------------------------------------------------------ - append: doc(function(list, item) { - typecheck('append', list, 'pair'); - return this.get('append!')(list.clone(), item); - }, `(append list item) - - Function will create new list with value appended to the end. It return - New list.`), - 'append!': doc(function(list, item) { - typecheck('append!', list, 'pair'); - if (isNull(item) || isEmptyList(item)) { - return list; - } - return list.append(item); - }, `(append! name expression) - - Destructive version of append, it modify the list in place. It return - original list.`), - // ------------------------------------------------------------------ - reverse: doc(function(arg) { - typecheck('reverse', arg, ['array', 'pair']); - if (arg instanceof Pair) { - var arr = this.get('list->array')(arg).reverse(); - return this.get('array->list')(arr); - } else if (!(arg instanceof Array)) { - throw new Error(typeErrorMessage('reverse', type(arg), 'array or pair')); - } else { - return arg.reverse(); - } - }, `(reverse list) - - Function will reverse the list or array. If value is not a list - or array it will throw exception.`), - // ------------------------------------------------------------------ - nth: doc(function(index, obj) { - typecheck('nth', index, 'number'); - typecheck('nth', obj, ['array', 'pair']); - if (obj instanceof Pair) { - var node = obj; - var count = 0; - while (count < index) { - if (!node.cdr || node.cdr === nil || node.haveCycles('cdr')) { - return nil; - } - node = node.cdr; - count++; - } - return node.car; - } else if (obj instanceof Array) { - return obj[index]; - } else { - throw new Error(typeErrorMessage('nth', type(obj), 'array or pair', 2)); - } - }, `(nth index obj) - - Function return nth element of the list or array. If used with different - value it will throw exception`), - // ------------------------------------------------------------------ - list: doc(function(...args) { - return Pair.fromArray(args); - }, `(list . args) - - Function create new list out of its arguments.`), - // ------------------------------------------------------------------ - substring: doc(function(string, start, end) { - typecheck('substring', string, 'string'); - typecheck('substring', start, 'number'); - typecheck('substring', end, ['number', 'undefined']); - return string.substring(start.valueOf(), end && end.valueOf()); - }, `(substring string start end) - - Function return part of the string starting at start ending with end.`), - // ------------------------------------------------------------------ - concat: doc(function(...args) { - args.forEach((arg, i) => typecheck('concat', arg, 'string', i + 1)); - return args.join(''); - }, `(concat . strings) - - Function create new string by joining its arguments`), - // ------------------------------------------------------------------ - join: doc(function(separator, list) { - typecheck('join', separator, 'string'); - typecheck('join', list, 'pair'); - return this.get('list->array')(list).join(separator); - }, `(join separator list) - - Function return string by joining elements of the list`), - // ------------------------------------------------------------------ - split: doc(function(separator, string) { - typecheck('split', separator, ['regex', 'string']); - typecheck('split', string, 'string'); - return this.get('array->list')(string.split(separator)); - }, `(split separator string) - - Function create list by splitting string by separatar that can - be a string or regular expression.`), - // ------------------------------------------------------------------ - replace: doc(function(pattern, replacement, string) { - typecheck('replace', pattern, ['regex', 'string']); - typecheck('replace', replacement, ['string', 'function']); - typecheck('replace', string, 'string'); - return string.replace(pattern, replacement); - }, `(replace pattern replacement string) - - Function change pattern to replacement inside string. Pattern can be string - or regex and replacement can be function or string.`), - // ------------------------------------------------------------------ - match: doc(function(pattern, string) { - typecheck('match', pattern, ['regex', 'string']); - typecheck('match', string, 'string'); - var m = string.match(pattern); - return m ? this.get('array->list')(m) : nil; - }, `(match pattern string) - - function return match object from JavaScript as list.`), - // ------------------------------------------------------------------ - search: doc(function(pattern, string) { - typecheck('search', pattern, ['regex', 'string']); - typecheck('search', string, 'string'); - return string.search(pattern); - }, `(search pattern string) - - Function return first found index of the pattern inside a string`), - // ------------------------------------------------------------------ - string: doc(function string(obj, quote) { - if (typeof jQuery !== 'undefined' && - obj instanceof jQuery.fn.init) { - return '<#jQuery(' + obj.length + ')>'; - } - if (obj instanceof LNumber) { - return obj.value.toString(); - } - if (typeof obj === 'undefined') { - return '<#undefined>'; - } - if (typeof obj === 'function') { - if (isNativeFunction(obj)) { - return '<#function(native)>'; - } - return '<#function>'; - } - if (obj instanceof RegExp) { - return obj.toString(); - } - if (obj === nil) { - return 'nil'; - } - if (obj instanceof Array) { - return '[' + obj.map(x => string(x, true)).join(', ') + ']'; - } - if (obj === null || (typeof obj === 'string' && quote)) { - return JSON.stringify(obj).replace(/\\n/g, '\n'); - } - if (obj instanceof Pair) { - return obj.toString(); - } - if (obj instanceof LSymbol) { - return obj.toString(); - } - if (root.HTMLElement && obj instanceof root.HTMLElement) { - return `<#HTMLElement(${obj.tagName.toLowerCase()})>`; - } - if (typeof obj === 'object') { - var constructor = obj.constructor; - var name; - if (typeof constructor.__className === 'string') { - name = constructor.__className; - } else if (type(obj) === 'instance') { - name = 'instance'; - } else { - name = constructor.name; - } - if (name !== '') { - return '<#' + name + '>'; - } - return '<#Object>'; - } - if (typeof obj !== 'string') { - return obj.toString(); - } - return obj; - }, `(string obj) - - Function return string LIPS representation of an object as string.`), - // ------------------------------------------------------------------ - env: doc(function(env) { - env = env || this; - var names = Object.keys(env.env); - var result; - if (names.length) { - result = Pair.fromArray(names); - } else { - result = nil; - } - if (env.parent !== undefined) { - return this.get('env').call(this, env.parent).append(result); - } - return result; - }, `(env obj) - - Function return list values (functions and variables) inside environment.`), - 'new': doc(function(obj, ...args) { - var instance = new (unbind(obj))(...args); - Object.defineProperty(instance, '__instance__', { - enumerable: false, - get: () => true, - set: () => {}, - configurable: false - }); - return instance; - }, `(new obj . args) - - Function create new JavaScript instance of an object.`), - // ------------------------------------------------------------------ - 'unset!': doc(function(symbol) { - typecheck('unset!', symbol, 'symbol'); - delete this.env[symbol.name]; - }, `(unset! name) - - Function delete specified name from environment.`), - // ------------------------------------------------------------------ - 'remove-special!': doc(function(symbol) { - typecheck('remove-special!', symbol, 'string'); - delete specials[symbol]; - }, `(remove-special! symbol) - - Function remove special symbol from parser. Added by \`add-special!\``), - // ------------------------------------------------------------------ - 'add-special!': doc(function(symbol, name) { - typecheck('remove-special!', symbol, 'string', 1); - typecheck('remove-special!', name, 'symbol', 2); - lips.specials[symbol] = name; - }, `(add-special! symbol name) - - Add special symbol to the list of transforming operators by the parser. - e.g.: \`(add-special! '#)\` will allow to use \`#(1 2 3)\` and it will be - transformed into (# (1 2 3)) so you can write # macro that will process - the list. It's main purpose to to allow to use \`define-symbol-macro\``), - // ------------------------------------------------------------------ - 'get': get, - '.': get, - // ------------------------------------------------------------------ - 'unbind': doc( - unbind, - `(unbind fn) - - Function remove bidning from function so you can get props from it.`), - // ------------------------------------------------------------------ - type: doc( - type, - `(type object) - - Function return type of an object as string.`), - // ------------------------------------------------------------------ - 'instanceof': doc(function(type, obj) { - return obj instanceof type; - }, `(instanceof type obj) - - Function check of object is instance of object.`), - // ------------------------------------------------------------------ - 'macro?': doc(function(obj) { - return obj instanceof Macro; - }, `(macro? expression) - - Function check if value is a macro.`), - // ------------------------------------------------------------------ - 'function?': doc(function(obj) { - return typeof obj === 'function'; - }, `(function? expression) - - Function check if value is a function.`), - // ------------------------------------------------------------------ - 'real?': doc(function(value) { - if (type(value) !== 'number') { - return false; - } - if (value instanceof LNumber) { - return value.isFloat(); - } - return LNumber.isFloat(value); - }, `(real? number) - - Function check if value is real number.`), - // ------------------------------------------------------------------ - 'number?': doc( - LNumber.isNumber, - `(number? expression) - - Function check if value is a number`), - // ------------------------------------------------------------------ - 'string?': doc(function(obj) { - return typeof obj === 'string'; - }, `(string? expression) - - Function check if value is a string.`), - // ------------------------------------------------------------------ - 'pair?': doc(function(obj) { - return obj instanceof Pair; - }, `(pair? expression) - - Function check if value is a pair or list structure.`), - // ------------------------------------------------------------------ - 'regex?': doc(function(obj) { - return obj instanceof RegExp; - }, `(regex? expression) - - Function check if value is regular expression.`), - // ------------------------------------------------------------------ - 'null?': doc(function(obj) { - return isNull(obj) || (obj instanceof Pair && obj.isEmptyList()); - }, `(null? expression) - - Function check if value is nulish.`), - // ------------------------------------------------------------------ - 'boolean?': doc(function(obj) { - return typeof obj === 'boolean'; - }, `(boolean? expression) - - Function check if value is boolean.`), - // ------------------------------------------------------------------ - 'symbol?': doc(function(obj) { - return obj instanceof LSymbol; - }, `(symbol? expression) - - Function check if value is LIPS symbol`), - // ------------------------------------------------------------------ - 'array?': doc(function(obj) { - return obj instanceof Array; - }, `(array? expression) - - Function check if value is an arrray.`), - // ------------------------------------------------------------------ - 'object?': doc(function(obj) { - return obj !== nil && obj !== null && - !(obj instanceof LNumber) && typeof obj === 'object' && - !(obj instanceof Array); - }, `(object? expression) - - Function check if value is an object.`), - // ------------------------------------------------------------------ - read: doc(function read(arg) { - if (typeof arg === 'string') { - return parse(tokenize(arg))[0]; - } - return this.get('stdin').read().then((text) => { - return read.call(this, text); - }); - }, `(read [string]) - - Function if used with string will parse the string and return - list structure of LIPS code. If called without an argument it - will read string from standard input (using browser prompt or - user defined way) and call itself with that string (parse is) - function can be used together with eval to evaluate code from - string`), - // ------------------------------------------------------------------ - pprint: doc(function(arg) { - if (arg instanceof Pair) { - arg = new lips.Formatter(arg.toString()).break().format(); - this.get('stdout').write(arg); - } else { - this.get('display').call(this, arg); - } - }, `(pprint expression) - - Pretty print list expression, if called with non-pair it just call - print function with passed argument.`), - // ------------------------------------------------------------------ - print: doc(function() { - throw new Error('Function print was removed in version 0.20.0 use ' + - 'display insided'); - }, `(print . args) - - defunct function, we keep it to show proper error when used.`), - // ------------------------------------------------------------------ - display: doc(function(...args) { - this.get('stdout').write(...args.map((arg) => { - return this.get('string')(arg, typeof arg === 'string'); - })); - }, `(display . args) - - Function convert each argument to string and print the result to - standard output (by default it's console but it can be defined - it user code)`), - // ------------------------------------------------------------------ - error: doc(function(...args) { - this.get('display').apply(this, args); - }, `(error . args) - - Display error message.`), - // ------------------------------------------------------------------ - flatten: doc(function(list) { - typecheck('flatten', list, 'pair'); - return list.flatten(); - }, `(flatten list) - - Return shallow list from tree structure (pairs).`), - // ------------------------------------------------------------------ - 'array->list': doc(function(array) { - typecheck('array->list', array, 'array'); - return Pair.fromArray(array); - }, `(array->list array) - - Function convert JavaScript array to LIPS list.`), - // ------------------------------------------------------------------ - 'tree->array': doc( - toArray('tree->array', true), - `(tree->array list) - - Function convert LIPS list structure into JavaScript array.`), - // ------------------------------------------------------------------ - 'list->array': doc( - toArray('list->array'), - `(list->array list) - - Function convert LIPS list into JavaScript array.`), - // ------------------------------------------------------------------ - apply: doc(function(fn, list) { - typecheck('call', fn, 'function', 1); - typecheck('call', list, 'pair', 2); - return fn(...this.get('list->array')(list)); - }, `(apply fn list) - - Function that call function with list of arguments.`), - // ------------------------------------------------------------------ - 'length': doc(function(obj) { - if (!obj) { - return LNumber(0); - } - if (obj instanceof Pair) { - return LNumber(obj.length()); - } - if ("length" in obj) { - return LNumber(obj.length); - } - }, `(length expression) - - Function return length of the object, the object can be list - or any object that have length property.`), - 'try': doc(new Macro('try', function(code, { dynamic_scope, error }) { - return new Promise((resolve) => { - var args = { - env: this, - error: (e) => { - var env = this.inherit('try'); - env.set(code.cdr.car.cdr.car.car, e); - var args = { - env, - error - }; - if (dynamic_scope) { - args.dynamic_scope = this; - } - unpromise(evaluate(new Pair( - new LSymbol('begin'), - code.cdr.car.cdr.cdr - ), args), function(result) { - resolve(result); - }); - } - }; - if (dynamic_scope) { - args.dynamic_scope = this; - } - var ret = evaluate(code.car, args); - if (isPromise(ret)) { - ret.catch(args.error).then(resolve); - } else { - resolve(ret); - } - }); - }), `(try expr (catch (e) code)`), - // ------------------------------------------------------------------ - find: doc(function find(arg, list) { - typecheck('find', arg, ['regex', 'function']); - typecheck('find', list, 'pair'); - if (isNull(list)) { - return nil; - } - var fn = matcher('find', arg); - return unpromise(fn(list.car), function(value) { - if (value && value !== nil) { - return list.car; - } - return find(arg, list.cdr); - }); - }, `(find fn list) - (find regex list) - - Higher order Function find first value for which function return true. - If called with regex it will create matcher function.`), - // ------------------------------------------------------------------ - 'for-each': doc(function(fn, ...lists) { - typecheck('for-each', fn, 'function'); - lists.forEach((arg, i) => { - typecheck('for-each', arg, ['pair', 'nil'], i + 1); - }); - // we need to use call(this because babel transpile this code into: - // var ret = map.apply(void 0, [fn].concat(lists)); - // it don't work with weakBind - var ret = this.get('map').call(this, fn, ...lists); - if (isPromise(ret)) { - return ret.then(() => {}); - } - }, `(for-each fn . lists) - - Higher order function that call function \`fn\` by for each - value of the argument. If you provide more then one list as argument - it will take each value from each list and call \`fn\` function - with that many argument as number of list arguments.`), - // ------------------------------------------------------------------ - map: doc(function map(fn, ...lists) { - typecheck('map', fn, 'function'); - lists.forEach((arg, i) => { - typecheck('map', arg, ['pair', 'nil'], i + 1); - }); - if (lists.some(x => x === nil)) { - return nil; - } - if (lists.some(isEmptyList)) { - return emptyList(); - } - var args = lists.map(l => l.car); - var env = this; - args.callee = fn; - env.set('arguments', args); - return unpromise(fn.call(env, ...args), (head) => { - return unpromise(map.call(this, fn, ...lists.map(l => l.cdr)), (rest) => { - return new Pair(head, rest); - }); - }); - }, `(map fn . lists) - - Higher order function that call function \`fn\` by for each - value of the argument. If you provide more then one list as argument - it will take each value from each list and call \`fn\` function - with that many argument as number of list arguments. The return - values of the function call is acumulated in result list and - returned by the call to map.`), - // ------------------------------------------------------------------ - some: doc(function some(fn, list) { - typecheck('some', fn, 'function'); - typecheck('some', list, ['pair', 'nil']); - if (isNull(list)) { - return false; - } else { - return unpromise(fn(list.car), (value) => { - return value || some(fn, list.cdr); - }); - } - }, `(some fn list) - - Higher order function that call argument on each element of the list. - It stops when function fn return true for a value if so it will - return true. If it don't find the value it will return false`), - // ------------------------------------------------------------------ - fold: doc(fold('fold', function(fold, fn, init, ...lists) { - typecheck('fold', fn, 'function'); - lists.forEach((arg, i) => { - typecheck('fold', arg, ['pair', 'nil'], i + 1); - }); - if (lists.some(isEmptyList)) { - return init; - } - const value = fold.call(this, fn, init, ...lists.map(l => l.cdr)); - return unpromise(value, value => { - return fn(...lists.map(l => l.car), value); - }); - }), `(fold fn init . lists) - - Function fold is reverse of the reduce. it call function \`fn\` - on each elements on the list and return single value. - e.g. it call (fn a1 b1 (fn a2 b2 (fn a3 b3 '()))) - for: (fold fn '() alist blist`), - // ------------------------------------------------------------------ - pluck: doc(function(...keys) { - return function(obj) { - keys = keys.map(x => x instanceof LSymbol ? x.name : x); - if (keys.length === 0) { - return nil; - } else if (keys.length === 1) { - const [key] = keys; - return obj[key]; - } - var result = {}; - keys.forEach((key) => { - result[key] = obj[key]; - }); - return result; - }; - }, `(pluck . string) - - If called with single string it will return function that will return - key from object. If called with more then one argument function will - return new object by taking all properties from given object.`), - // ------------------------------------------------------------------ - reduce: doc(fold('reduce', function(reduce, fn, init, ...lists) { - typecheck('reduce', fn, 'function'); - lists.forEach((arg, i) => { - typecheck('reduce', arg, ['pair', 'nil'], i + 1); - }); - if (lists.some(isEmptyList)) { - return init; - } - return unpromise(fn(...lists.map(l => l.car), init), (value) => { - return reduce.call(this, fn, value, ...lists.map(l => l.cdr)); - }); - }), `(reduce fn init list . lists) - - Higher order function take each element of the list and call - the function with result of previous call or init and next element - on the list until each element is processed and return single value - as result of last call to \`fn\` function. - e.g. it call (fn a3 b3 (fn a2 b2 (fn a1 b1 init))) - for (reduce fn init alist blist`), - // ------------------------------------------------------------------ - filter: doc(function(arg, list) { - typecheck('filter', arg, ['regex', 'function']); - typecheck('filter', list, ['pair', 'nil']); - var array = this.get('list->array')(list); - var result = []; - var fn = matcher('filter', arg); - return (function loop(i) { - function next(value) { - if (value && value !== nil) { - result.push(item); - } - return loop(++i); - } - if (i === array.length) { - return Pair.fromArray(result); - } - var item = array[i]; - return unpromise(fn(item, i), next); - })(0); - }, `(filter fn list) - (filter regex list) - - Higher order function that call \`fn\` for each element of the list - and return list for only those elements for which funtion return - true value. If called with regex it will create matcher function.`), - // ------------------------------------------------------------------ - range: doc(function(n) { - typecheck('range', n, 'number'); - if (n instanceof LNumber) { - n = n.valueOf(); - } - return Pair.fromArray(new Array(n).fill(0).map((_, i) => LNumber(i))); - }, `(range n) - - Function return list of n numbers from 0 to n - 1`), - // ------------------------------------------------------------------ - compose: doc( - compose, - `(compose . fns) - - Higher order function and create new function that apply all functions - From right to left and return it's value. Reverse of compose. - e.g.: - ((compose (curry + 2) (curry * 3)) 3) - 11 - `), - pipe: doc( - pipe, - `(pipe . fns) - - Higher order function and create new function that apply all functions - From left to right and return it's value. Reverse of compose. - e.g.: - ((pipe (curry + 2) (curry * 3)) 3) - 15`), - curry: doc( - curry, - `(curry fn . args) - - Higher order function that create curried version of the function. - The result function will have parially applied arguments and it - will keep returning functions until all arguments are added - - e.g.: - (define (add a b c d) (+ a b c d)) - (define add1 (curry add 1)) - (define add12 (add 2)) - (display (add12 3 4))`), - // ------------------------------------------------------------------ - odd: doc(singleMathOp(function(num) { - return LNumber(num).isOdd(); - }), `(odd number) - Function check if number os odd.`), - // ------------------------------------------------------------------ - even: doc(singleMathOp(function(num) { - return LNumber(num).isEvent(); - }), `(even number) - - Function check if number is even.`), - // ------------------------------------------------------------------ - // math functions - '*': doc(reduceMathOp(function(a, b) { - return LNumber(a).mul(b); - }), `(* . numbers) - - Multiplicate all numbers passed as arguments. If single value is passed - it will return that value.`), - // ------------------------------------------------------------------ - '+': doc(reduceMathOp(function(a, b) { - return LNumber(a).add(b); - }), `(+ . numbers) - - Sum all numbers passed as arguments. If single value is passed it will - return that value.`), - // ------------------------------------------------------------------ - '-': doc(function(...args) { - if (args.length === 1) { - return LNumber(args[0]).neg(); - } - if (args.length) { - return args.reduce(binaryMathOp(function(a, b) { - return LNumber(a).sub(b); - })); - } - }, `(- . numbers) - (- number) - - Substract number passed as argument. If only one argument is passed - it will negate the value.`), - // ------------------------------------------------------------------ - '/': doc(reduceMathOp(function(a, b) { - return LNumber(a).div(b); - }), `(/ . numbers) - - Divide number passed as arguments one by one. If single argument - is passed it will return that value.`), - // ------------------------------------------------------------------ - 'abs': doc(singleMathOp(function(n) { - return LNumber(n).abs(); - }), `(abs number) - - Function create absolute value from number.`), - // ------------------------------------------------------------------ - 'sqrt': doc(singleMathOp(function(n) { - return Math.sqrt(n); - }), `(sqrt number) - - Function return square root of the number.`), - // ------------------------------------------------------------------ - '**': doc(binaryMathOp(function(a, b) { - return LNumber(a).pow(b); - }), `(** a b) - - Function calculate number a to to the power of b. It can throw - exception when ** native operator is not supported.`), - // ------------------------------------------------------------------ - '1+': doc(singleMathOp(function(number) { - return LNumber(number).add(1); - }), `(1+ number) - - Function add 1 to the number and return result.`), - // ------------------------------------------------------------------ - '1-': doc(singleMathOp(function(number) { - return LNumber(number).sub(1); - }), `(1- number) - - Function substract 1 from the number and return result.`), - // ------------------------------------------------------------------ - '++': doc(new Macro('++', function(code) { - typecheck('++', code.car, 'symbol'); - var car = this.get(code.car); - var value = LNumber(car).add(1); - this.set(code.car, value); - return value; - }), `(++ variable) - - Macro that work only on variables and increment the value by one.`), - // ------------------------------------------------------------------ - '--': doc(new Macro('--', function(code) { - typecheck('--', code.car, 'symbol'); - var car = this.get(code.car); - var value = LNumber(car).sub(1); - this.set(code.car, value); - return value; - }), `(-- variable) - - Macro that decrement the value it work only on symbols`), - // ------------------------------------------------------------------ - '%': doc(reduceMathOp(function(a, b) { - return LNumber(a).mod(b); - }), `(% . numbers) - - Function use modulo operation on each of the numbers. It return - single number.`), - // ------------------------------------------------------------------ - // Booleans - '==': doc(function(a, b) { - return LNumber(a).cmp(b) === 0; - }, `(== a b) - - Function compare two numbers and check if they are equal.`), - // ------------------------------------------------------------------ - '>': doc(function(a, b) { - return LNumber(a).cmp(b) === 1; - }, `(> a b) - - Function compare two numbers and check if first argument is greater - than the second one`), - // ------------------------------------------------------------------ - '<': doc(function(a, b) { - return LNumber(a).cmp(b) === -1; - }, `(< a b) - - Function compare two numbers and check if first argument is less - than the second one`), - // ------------------------------------------------------------------ - '<=': doc(function(a, b) { - return [0, -1].includes(LNumber(a).cmp(b)); - }, `(<= a b) - - Function compare two numbers and check if first argument is less or - equal to the second one`), - // ------------------------------------------------------------------ - '>=': doc(function(a, b) { - return [0, 1].includes(LNumber(a).cmp(b)); - }, `(>= a b) - - Function compare two numbers and check if first argument is less or - equal to the second one`), - // ------------------------------------------------------------------ - 'eq?': doc( - equal, - `(eq? a b) - - Function compare two values if they are identical.`), - // ------------------------------------------------------------------ - or: doc(new Macro('or', function(code, { dynamic_scope, error }) { - var args = this.get('list->array')(code); - var self = this; - if (dynamic_scope) { - dynamic_scope = self; - } - var result; - return (function loop() { - function next(value) { - result = value; - if (result) { - return result; - } else { - return loop(); - } - } - var arg = args.shift(); - if (typeof arg === 'undefined') { - if (result) { - return result; - } else { - return false; - } - } else { - var value = evaluate(arg, { env: self, dynamic_scope, error }); - return unpromise(value, next); - } - })(); - }), `(or . expressions) - - Macro execute the values one by one and return the one that is truthy value. - If there are no expression that evaluate to true it return false.`), - // ------------------------------------------------------------------ - and: doc(new Macro('and', function(code, { dynamic_scope, error } = {}) { - var args = this.get('list->array')(code); - var self = this; - if (dynamic_scope) { - dynamic_scope = self; - } - if (!args.length) { - return true; - } - var result; - return (function loop() { - function next(value) { - result = value; - if (!result) { - return false; - } else { - return loop(); - } - } - var arg = args.shift(); - if (typeof arg === 'undefined') { - if (result) { - return result; - } else { - return false; - } - } else { - var value = evaluate(arg, { env: self, dynamic_scope, error }); - return unpromise(value, next); - } - })(); - }), `(and . expressions) - - Macro evalute each expression in sequence if any value return false it will - return false. If each value return true it will return the last value. - If it's called without arguments it will return true.`), - // bit operations - '|': doc(function(a, b) { - return LNumber(a).or(b); - }, `(& a b) - - Function calculate or bit operation.`), - '&': doc(function(a, b) { - return LNumber(a).and(b); - }, `(& a b) - - Function calculate and bit operation.`), - '~': doc(function(a) { - return LNumber(a).neg(); - }, `(~ number) - - Function negate the value.`), - '>>': doc(function(a, b) { - return LNumber(a).shr(b); - }, `(>> a b) - - Function right shit the value a by value b.`), - '<<': doc(function(a, b) { - return LNumber(a).shl(b); - }, `(<< a b) - - Function left shit the value a by value b.`), - not: doc(function(value) { - if (isEmptyList(value)) { - return true; - } - return !value; - }, `(not object) - - Function return negation of the argument.`), - '->': doc(function(obj, name, ...args) { - return obj[name](...args); - }, `(-> obj name . args) - - Function get function from object and call it with arguments.`) - }, undefined, 'global'); - // ------------------------------------------------------------------------- - ['floor', 'round', 'ceil'].forEach(fn => { - global_env.set(fn, doc(function(value) { - typecheck(fn, value, 'number'); - if (value instanceof LNumber) { - return value[fn](); - } - }, `(${fn} number) - - Function calculate ${fn} of a number.`)); - }); - // ------------------------------------------------------------------------- - // source: https://stackoverflow.com/a/4331218/387194 - function allPossibleCases(arr) { - if (arr.length === 1) { - return arr[0]; - } else { - var result = []; - // recur with the rest of array - var allCasesOfRest = allPossibleCases(arr.slice(1)); - for (var i = 0; i < allCasesOfRest.length; i++) { - for (var j = 0; j < arr[0].length; j++) { - result.push(arr[0][j] + allCasesOfRest[i]); - } - } - return result; - } - } - - // ------------------------------------------------------------------------- - function combinations(input, start, end) { - var result = []; - for (var i = start; i <= end; ++i) { - var input_arr = []; - for (var j = 0; j < i; ++j) { - input_arr.push(input); - } - result = result.concat(allPossibleCases(input_arr)); - } - return result; - } - - // ------------------------------------------------------------------------- - // cadr caddr cadadr etc. - combinations(['d', 'a'], 2, 5).forEach(spec => { - const s = spec.split(''); - const chars = s.slice().reverse(); - const code = s.map(c => `(c${c}r`).join(' ') + ' arg' + ')'.repeat(s.length); - const name = 'c' + spec + 'r'; - global_env.set(name, doc(function(arg) { - return chars.reduce(function(list, type) { - if (list === nil) { - return nil; - } - typecheck(name, list, 'pair'); - if (type === 'a') { - return list.car; - } else { - return list.cdr; - } - }, arg); - }, `(${name} arg) - - Function calculate ${code}`)); - }); - - // ------------------------------------------------------------------------- - if (typeof global !== 'undefined') { - global_env.set('global', global); - // --------------------------------------------------------------------- - global_env.set('require.resolve', doc(function(path) { - return require.resolve(path); - }, `(require.resolve path) - - Return path relative the current module.`)); - // --------------------------------------------------------------------- - global_env.set('require', doc(function(module) { - return require(module); - }, `(require module) - - Function to be used inside Node.js to import the module.`)); - // --------------------------------------------------------------------- - } else if (typeof window !== 'undefined') { - global_env.set('window', window); - } - // ------------------------------------------------------------------------- - function typeErrorMessage(fn, got, expected, position = null) { - let postfix = fn ? ` in function \`${fn}\`` : ''; - if (position !== null) { - postfix += ` argument ${position}`; - } - if (expected instanceof Array) { - const last = expected[expected.length - 1]; - expected = expected.slice(0, -1).join(', ') + ' or ' + last; - } - return `Expecting ${expected} got ${got}${postfix}`; - } - // ------------------------------------------------------------------------- - function typecheck(fn, arg, expected, position = null) { - const arg_type = type(arg); - var match = false; - if (expected instanceof Array && expected.includes(arg_type)) { - match = true; - } - if (!match && arg_type !== expected) { - throw new Error(typeErrorMessage(fn, arg_type, expected, position)); - } - } - // ------------------------------------------------------------------------- - function selfEvaluated(obj) { - var type = typeof obj; - return ['string', 'function'].includes(type) || - obj instanceof LNumber || - obj instanceof RegExp; - } - // ------------------------------------------------------------------------- - function type(obj) { - var mapping = { - 'pair': Pair, - 'symbol': LSymbol, - 'macro': Macro, - 'array': Array, - 'native_symbol': Symbol - }; - if (obj === nil) { - return 'nil'; - } - if (obj === null) { - return 'null'; - } - for (let [key, value] of Object.entries(mapping)) { - if (obj instanceof value) { - return key; - } - } - if (obj instanceof LNumber) { - return 'number'; - } - if (obj instanceof RegExp) { - return "regex"; - } - if (typeof obj === 'object') { - if (obj.__instance__) { - obj.__instance__ = false; - if (obj.__instance__) { - return 'instance'; - } - } - return obj.constructor.name; - } - return typeof obj; - } - // ------------------------------------------------------------------------- - // :; wrap tree of Promises with single Promise or return argument as is - // :: if tree have no Promises - // ------------------------------------------------------------------------- - function resolvePromises(arg) { - var promises = []; - traverse(arg); - if (promises.length) { - return resolve(arg); - } - return arg; - function traverse(node) { - if (isPromise(node)) { - promises.push(node); - } else if (node instanceof Pair) { - if (!node.haveCycles('car')) { - traverse(node.car); - } - if (!node.haveCycles('cdr')) { - traverse(node.cdr); - } - } else if (node instanceof Array) { - node.forEach(traverse); - } - } - async function promise(node) { - var pair = new Pair( - node.haveCycles('car') ? node.car : await resolve(node.car), - node.haveCycles('cdr') ? node.cdr : await resolve(node.cdr) - ); - if (node.data) { - pair.data = true; - } - return pair; - } - function resolve(node) { - if (node instanceof Array) { - return Promise.all(node.map(resolve)); - } - if (node instanceof Pair && promises.length) { - return promise(node); - } - return node; - } - } - function getFunctionArgs(rest, { env, dynamic_scope, error }) { - var args = []; - var node = rest; - markCycles(node); - while (true) { - if (node instanceof Pair && !isEmptyList(node)) { - var arg = evaluate(node.car, { env, dynamic_scope, error }); - if (dynamic_scope) { - arg = unpromise(arg, arg => { - if (typeof arg === 'function' && isNativeFunction(arg)) { - return arg.bind(dynamic_scope); - } - return arg; - }); - } - args.push(arg); - if (node.haveCycles('cdr')) { - break; - } - node = node.cdr; - } else { - break; - } - } - return resolvePromises(args); - } - // ------------------------------------------------------------------------- - function evaluateMacro(macro, code, eval_args) { - if (code instanceof Pair) { - //code = code.clone(); - } - var value = macro.invoke(code, eval_args); - return unpromise(resolvePromises(value), function ret(value) { - if (value && value.data || !value || selfEvaluated(value)) { - return value; - } else { - return quote(evaluate(value, eval_args)); - } - }); - } - // ------------------------------------------------------------------------- - function evaluate(code, { env, dynamic_scope, error = () => {} } = {}) { - try { - if (dynamic_scope === true) { - env = dynamic_scope = env || global_env; - } else if (env === true) { - env = dynamic_scope = global_env; - } else { - env = env || global_env; - } - var eval_args = { env, dynamic_scope, error }; - var value; - if (isNull(code)) { - return code; - } - if (isEmptyList(code)) { - return emptyList(); - } - if (code instanceof LSymbol) { - return env.get(code, { weak: true }); - } - var first = code.car; - var rest = code.cdr; - if (first instanceof Pair) { - value = resolvePromises(evaluate(first, eval_args)); - if (isPromise(value)) { - return value.then((value) => { - return evaluate(new Pair(value, code.cdr), eval_args); - }); - // else is later in code - } else if (typeof value !== 'function') { - throw new Error( - type(value) + ' ' + env.get('string')(value) + - ' is not a function while evaluating ' + code.toString() - ); - } - } - if (first instanceof LSymbol) { - value = env.get(first, { weak: true }); - if (value instanceof Macro) { - //var scope = env.inherit('__frame__'); - var ret = evaluateMacro(value, rest, eval_args); - return unpromise(ret, result => { - if (result instanceof Pair) { - return result.markCycles(); - } - return result; - }); - } else if (typeof value !== 'function') { - if (value) { - var msg = `${type(value)} \`${value}' is not a function`; - throw new Error(msg); - } - throw new Error(`Unknown function \`${first.name}'`); - } - } else if (typeof first === 'function') { - value = first; - } - if (typeof value === 'function') { - var args = getFunctionArgs(rest, eval_args); - return unpromise(args, function(args) { - var scope = (dynamic_scope || env).inherit('__frame__'); - scope.set('parent.frame', function(n = 1) { - if (n === 0) { - return scope; - } - if (!(scope.parent instanceof Environment)) { - return nil; - } - var parent_frame = scope.parent.get('parent.frame', { - throwError: false - }); - if (typeof parent_frame === 'function') { - return parent_frame(n - 1); - } - return nil; - }); - var _args = args.slice(); - _args.callee = value; - scope.set('arguments', _args); - var result = resolvePromises(value.apply(scope, args)); - return unpromise(result, (result) => { - if (result instanceof Pair) { - return quote(result.markCycles()); - } - return result; - }, error); - }); - } else if (code instanceof LSymbol) { - value = env.get(code); - if (value === 'undefined') { - throw new Error('Unbound variable `' + code.name + '\''); - } - return value; - } else if (code instanceof Pair) { - value = first && first.toString(); - throw new Error(`${type(first)} ${value} is not a function`); - } else { - return code; - } - } catch (e) { - error && error(e, code); - } - } - - // ------------------------------------------------------------------------- - async function exec(string, env, dynamic_scope) { - if (dynamic_scope === true) { - env = dynamic_scope = env || global_env; - } else if (env === true) { - env = dynamic_scope = global_env; - } else { - env = env || global_env; - } - var list = parse(string); - var results = []; - while (true) { - var code = list.shift(); - if (!code) { - return results; - } else { - var result = await evaluate(code, { - env, - dynamic_scope, - error: (e, code) => { - if (code) { - // LIPS stack trace - if (!(e.code instanceof Array)) { - e.code = []; - } - e.code.push(code.toString()); - } - throw e; - } - }); - results.push(result); - } - } - } - - // ------------------------------------------------------------------------- - // create token matcher that work with string and object token - // ------------------------------------------------------------------------- - function matchToken(re) { - return function(token) { - if (!token) { - return false; - } - return (token.token || token).match(re); - }; - } - var isParen = matchToken(/[()]/); - // ------------------------------------------------------------------------- - function balanced(code) { - var tokens = typeof code === 'string' ? tokenize(code) : code; - var parenthesis = tokens.filter(isParen); - var open = parenthesis.filter(p => (p.token || p) === ')'); - var close = parenthesis.filter(p => (p.token || p) === '('); - return open.length === close.length; - } - - // ------------------------------------------------------------------------- - Pair.unDry = function(value) { - return new Pair(value.car, value.cdr); - }; - Pair.prototype.toDry = function() { - return { - value: { - car: this.car, - cdr: this.cdr - } - }; - }; - Nil.prototype.toDry = function() { - return { - value: null - }; - }; - Nil.unDry = function() { - return nil; - }; - LSymbol.prototype.toDry = function() { - return { - value: { - name: this.name - } - }; - }; - LSymbol.unDry = function(value) { - return new LSymbol(value.name); - }; - // ------------------------------------------------------------------------- - function execError(e) { - console.error(e.message || e); - if (e.code) { - console.error(e.code.map((line, i) => `[${i + 1}]: ${line}`)); - } - } - // ------------------------------------------------------------------------- - function init() { - var lips_mime = 'text/x-lips'; - if (window.document) { - var scripts = Array.from(document.querySelectorAll('script')); - return (function loop() { - var script = scripts.shift(); - if (script) { - var type = script.getAttribute('type'); - if (type === lips_mime) { - var src = script.getAttribute('src'); - if (src) { - return root.fetch(src).then(res => res.text()) - .then(exec).then(loop).catch((e) => { - execError(e); - loop(); - }); - } else { - return exec(script.innerHTML).then(loop).catch((e) => { - execError(e); - loop(); - }); - } - } else if (type && type.match(/lips|lisp/)) { - console.warn('Expecting ' + lips_mime + ' found ' + type); - } - return loop(); - } - })(); - } - } - // ------------------------------------------------------------------------- - if (typeof window !== 'undefined') { - contentLoaded(window, init); - } - // ------------------------------------------------------------------------- - // to be used with string function when code is minified - // ------------------------------------------------------------------------- - Ahead.__className = 'Ahead'; - Pattern.__className = 'Pattern'; - Formatter.__className = 'Formatter'; - Macro.__className = 'Macro'; - Environment.__className = 'Environment'; - // ------------------------------------------------------------------------- - var lips = { - version: '{{VER}}', - exec, - parse, - tokenize, - evaluate, - Environment, - global_environment: global_env, - globalEnvironment: global_env, - env: global_env, - balanced_parenthesis: balanced, - balancedParenthesis: balanced, - Macro, - quote, - Pair, - Formatter, - specials, - nil, - resolvePromises, - LSymbol, - LNumber - }; - // so it work when used with webpack where it will be not global - global_env.set('lips', lips); - return lips; -}); diff --git a/style.css b/style.css deleted file mode 100644 index fd672983a..000000000 --- a/style.css +++ /dev/null @@ -1,129 +0,0 @@ -body { - margin: 0 auto; - width: 100%; - max-width: 1024px; -} -header.main, footer { - background: linear-gradient(to right, #ff6600, #ff6600 25%, #d65600 75%); -} -header.main { - padding: 10px; - padding-bottom: 0; - min-height: 231px; -} -header.main a { - display: inline-block; -} -header img { - float: left; -} -header h1 { - color: black; - margin: 30px; - display: inline-block; - letter-spacing: 2px; - margin: 55px 0 0 10px; -} -header h1, nav, section header h2 { - font-family: 'Play', sans-serif; -} -section h3, section p, footer, section ul { - font-family: 'Crimson Text', serif; - font-size: 1.2em; -} -nav { - margin-top: 20px; -} -nav ul { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-wrap: wrap; - align-content: space-between; - justify-content: left; - padding: 10px; - width: 100%; - box-sizing: border-box; -} -nav li:hover { - border-bottom: 10px solid white; - padding-bottom: 0; -} -nav li { - display: inline-block; - padding-bottom: 10px; - margin-right: 20px; -} -nav li a { - padding: 5px 15px; - background: black; - color: white; - text-decoration: none; - display: block; -} -nav li:last-child { - margin-right: 0; -} -nav { - font-size: 1.3em; - font-family: play; - text-transform: uppercase; -} -section header h2 { - border-bottom: 5px solid #358ccb; - padding-bottom: 5px; - min-width: 300px; - display: inline-block; - text-transform: uppercase; -} -section img { - max-width: 100%; -} -.term { - height: 200px; - background: black; -} -footer { - padding: 10px; -} -footer p, footer a { - color: black; -} -footer a:hover { - color: #2b343a; -} -footer p { - margin: 0; - text-align: center; -} -body .token.string, body .token.char { - color: #df3189; -} -:root { - --background: transparent; -} -.terminal { - --terminal: black; -} -@media (max-width: 720px) { - header.main h1 { - margin: 0; - } - section { - margin-left: 10px; - } - section#demo { - margin-right: 10px; - } - code[class*="language-"] { - min-width: 630px; - } - pre[class*="language-"] { - width: 100%; - overflow: auto; - } -} -pre[class*="language-"]:before, pre[class*="language-"]:after { - display: none; -} diff --git a/templates/Makefile b/templates/Makefile deleted file mode 100644 index ddfb1f6cf..000000000 --- a/templates/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -.PHONY: publish test coveralls lint - -VERSION={{VERSION}} -BRANCH=`git branch | grep '^*' | sed 's/* //'` -DATE=`date -uR` -SPEC_CHECKSUM=`md5sum spec/lips.spec.js | cut -d' ' -f 1` -COMMIT=`git rev-parse HEAD` -URL=`git config --get remote.origin.url` - -GIT=git -CD=cd -SED=sed -CP=cp -RM=rm -TEST=test -CAT=cat -NPM=npm -ESLINT=./node_modules/.bin/eslint -COVERALLS=./node_modules/.bin/coveralls -JEST=./node_modules/.bin/jest -UGLIFY=./node_modules/.bin/uglifyjs -ROLLUP=./node_modules/.bin/rollup - - -ALL: Makefile .$(VERSION) dist/lips.js dist/lips.min.js README.md package.json - -dist/lips.js: src/lips.js .$(VERSION) rollup.config.js - $(ROLLUP) -c - $(SED) -i '/^\s*\/\*\*/,/^\s*\*\//d' dist/lips.js - $(CAT) src/banner.js dist/lips.js > dist/tmp.js - $(CP) dist/tmp.js dist/lips.js - $(RM) dist/tmp.js - $(GIT) branch | grep '* devel' > /dev/null && $(SED) -i -e "s/{{VER}}/DEV/g" -e "s/{{DATE}}/$(DATE)/g" \ - dist/lips.js || $(SED) -i -e "s/{{VER}}/$(VERSION)/g" -e "s/{{DATE}}/$(DATE)/g" \ - dist/lips.js - -dist/lips.min.js: dist/lips.js .$(VERSION) - $(UGLIFY) -o dist/lips.min.js --comments --mangle -- dist/lips.js - -Makefile: templates/Makefile - $(SED) -e "s/{{VER""SION}}/"$(VERSION)"/" templates/Makefile > Makefile - -package.json: templates/package.json .$(VERSION) - $(SED) -e "s/{{VER}}/"$(VERSION)"/" templates/package.json > package.json || true - -README.md: templates/README.md .$(VERSION) - $(GIT) branch | grep '* devel' > /dev/null && $(SED) -e "s/{{VER}}/DEV/g" -e \ - "s/{{BRANCH}}/$(BRANCH)/g" -e "s/{{CHECKSUM}}/$(SPEC_CHECKSUM)/g" \ - -e "s/{{COMMIT}}/$(COMMIT)/g" < templates/README.md > README.md || \ - $(SED) -e "s/{{VER}}/$(VERSION)/g" -e "s/{{BRANCH}}/$(BRANCH)/g" -e \ - "s/{{CHECKSUM}}/$(SPEC_CHECKSUM)/g" -e "s/{{COMMIT}}/$(COMMIT)/g" < templates/README.md > README.md - -.$(VERSION): Makefile - touch .$(VERSION) - -publish: - $(GIT) clone $(URL) --depth 1 npm - $(CD) npm && $(NPM) publish --access=public - $(RM) -rf npm - -test: dist/lips.js - $(JEST) - -coveralls: - $(CAT) ./coverage/lcov.info | $(COVERALLS) - -lint: - $(ESLINT) src/lips.js spec/lips.spec.js diff --git a/templates/README.md b/templates/README.md deleted file mode 100644 index 213ba6b01..000000000 --- a/templates/README.md +++ /dev/null @@ -1,148 +0,0 @@ -## LIPS is Pretty Simple - -[![npm](https://img.shields.io/badge/npm-{{VER}}-blue.svg)](https://www.npmjs.com/package/@jcubic/lips) -[![travis](https://travis-ci.org/jcubic/lips.svg?branch={{BRANCH}}&{{COMMIT}})](https://travis-ci.org/jcubic/lips) -[![Coverage Status](https://coveralls.io/repos/github/jcubic/lips/badge.svg?branch={{BRANCH}}&{{CHECKSUM}})](https://coveralls.io/github/jcubic/lips?branch={{BRANCH}}) - - -LIPS is very simple Lisp, similar to Scheme written in JavaScript. - -[Demo](https://jcubic.github.io/lips/#demo) - -## Key features - -* Full lisp macros, backquote and macroexpand, -* Functions in lips are normal JavaScript functions, -* You can invoke native JavaScript functions and methods from Lips, -* Promises are treated as values they resolve to (so async code look like sync - like auto `async/await`), -* Library agnostic - you can use it with any library, -* Easy extension using JavaScript using Macros or functions, -* RegExp-es are first class objects, -* BigInt support, if your browser don't support them, you will need to use [bn.js](https://github.com/indutny/bn.js/), -* Almost everything is first class object including macros and functions, -* Functions code introspection/manipulation at runtime give more power to the programmer, -* Optional dynamic scope. - -## Installation - -use npm - -``` -npm install @jcubic/lips -``` - -then include the file in script tag, You can grab the version from unpkg.com - -``` -https://unpkg.com/@jcubic/lips -``` - -or from rawgit - -``` -https://cdn.rawgit.com/jcubic/lips/devel/dist/lips.min.js -``` - -## Usage - - -Simplest way is to include the lips code in script tag: - -```html - -``` - -or use `src` attribute: - -```html - -``` - -Running programmatically: - -```javascript -var {exec} = require('@jcubic/lips'); // node -// or -var {exec} = lips; // browser - -exec(string).then(function(results) { - results.forEach(function(result) { - console.log(result.toString()); - }); -}); -``` - -More documentation in [Getting Started Guide](https://github.com/jcubic/lips/wiki/Getting-Started) and -in [docs page](https://jcubic.github.io/lips/docs.html). - -## Standalone executable - -if you install lips globally with: - -``` -npm install -g @jcubic/lips -``` - -you can run interpreter from terminal: - -``` -$ lips -LIPS Interpreter (Simple Scheme like Lisp) -Copyright (c) 2018-2019 Jakub T. Jankiewicz - -lips> (define (square x) -... (* x x)) -lips> (square 10) -100 -lips> -``` - -One feature of LIPS REPL is that it auto indent the lines when you press enter and didn't finish the code. - -You can also run code as string with: - -``` -lips -c '(let ((what "World")) (display (concat "Hello " what)))' -``` - -and you can run a file using: - -``` -cat > foo.lips < foo.lips < if just example of using cat to create multiline file from bash, you should use proper editor for -> writing files. - -## License - -Released under [MIT](http://opensource.org/licenses/MIT) license - -Copyright (c) 2018-2019 [Jakub T. Jankiewicz](https://jcubic.pl/jakub-jankiewicz) diff --git a/templates/package.json b/templates/package.json deleted file mode 100644 index 5edb9f29e..000000000 --- a/templates/package.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "name": "@jcubic/lips", - "version": "{{VER}}", - "description": "Simple Scheme Like Lisp in JavaScript", - "main": "src/lips.js", - "unpkg": "dist/lips.min.js", - "scripts": {}, - "repository": { - "type": "git", - "url": "git+https://github.com/jcubic/lips.git" - }, - "bin": { - "lips": "bin/lips.js" - }, - "keywords": [ - "lisp", - "scheme", - "language", - "interpreter" - ], - "author": "Jakub T. Jankiewicz (https://jcubic.pl/jakub-jankiewicz/)", - "license": "MIT", - "bugs": { - "url": "https://github.com/jcubic/lips/issues" - }, - "homepage": "https://github.com/jcubic/lips#readme", - "eslintConfig": { - "parserOptions": { - "ecmaVersion": 2017, - "sourceType": "module", - "ecmaFeatures": {} - }, - "env": { - "browser": true, - "jest": true, - "node": true - }, - "globals": { - "Promise": true - }, - "rules": { - "eqeqeq": "error", - "curly": "error", - "no-unreachable": "error", - "valid-typeof": 0, - "no-unexpected-multiline": "error", - "no-regex-spaces": "error", - "no-irregular-whitespace": "error", - "no-invalid-regexp": "error", - "no-inner-declarations": "error", - "no-func-assign": "error", - "no-extra-semi": "error", - "no-extra-boolean-cast": "error", - "no-debugger": "error", - "no-dupe-args": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty-character-class": "error", - "no-ex-assign": "error", - "array-callback-return": "error", - "no-case-declarations": "error", - "guard-for-in": "error", - "no-caller": "error", - "no-eval": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-fallthrough": "error", - "no-global-assign": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-multi-spaces": "error", - "no-new-wrappers": "error", - "no-redeclare": "error", - "no-self-assign": "error", - "no-return-assign": "error", - "no-self-compare": "error", - "no-throw-literal": "error", - "no-unused-labels": "error", - "no-useless-call": "error", - "no-useless-escape": "error", - "no-void": "error", - "no-with": "error", - "radix": "error", - "wrap-iife": [ - "error", - "inside" - ], - "yoda": [ - "error", - "never" - ], - "no-catch-shadow": "error", - "no-delete-var": "error", - "no-label-var": "error", - "no-undef-init": "error", - "no-unused-vars": "error", - "no-undef": "error", - "comma-style": [ - "error", - "last" - ], - "comma-dangle": [ - "error", - "never" - ], - "comma-spacing": [ - "error", - { - "before": false, - "after": true - } - ], - "computed-property-spacing": [ - "error", - "never" - ], - "eol-last": [ - "error", - "always" - ], - "func-call-spacing": [ - "error", - "never" - ], - "key-spacing": [ - "error", - { - "beforeColon": false, - "afterColon": true, - "mode": "strict" - } - ], - "max-len": [ - "error", - 90 - ], - "max-statements-per-line": "error", - "new-parens": "error", - "no-array-constructor": "error", - "no-lonely-if": "error", - "no-mixed-spaces-and-tabs": "error", - "no-multiple-empty-lines": "error", - "no-new-object": "error", - "no-tabs": "error", - "no-trailing-spaces": "error", - "no-whitespace-before-property": "error", - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-blocks": "error", - "keyword-spacing": [ - "error", - { - "before": true, - "after": true - } - ], - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "error", - "space-before-function-paren": [ - "error", - "never" - ], - "complexity": [ - "error", - { - "max": 35 - } - ], - "indent": [ - "error", - 4, - { - "SwitchCase": 1 - } - ], - "linebreak-style": [ - "error", - "unix" - ], - "semi": [ - "error", - "always" - ] - } - }, - "devDependencies": { - "@babel/core": "^7.4.5", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.4.4", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-runtime": "^7.4.4", - "@babel/preset-env": "^7.4.5", - "@babel/runtime": "^7.4.5", - "@babel/runtime-corejs2": "^7.4.5", - "acorn": "^7.1.1", - "babel-preset-env": "^1.7.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-stage-0": "^6.24.1", - "coveralls": "^3.0.3", - "eslint": "^5.16.0", - "jest": "^24.8.0", - "rollup": "^1.12.3", - "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-commonjs": "^10.0.0", - "rollup-plugin-node-resolve": "^5.0.0", - "uglify-js": "^3.5.15" - }, - "dependencies": { - "bn.js": "^4.11.8" - } -} diff --git a/todo.html b/todo.html deleted file mode 100644 index c0424b510..000000000 --- a/todo.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - TODO lips - - - - - - - - - - - - - - - - -
    -
    -

    todos

    - -
    - -
    -
    - - - - - diff --git a/todo.lips b/todo.lips deleted file mode 100644 index f082328be..000000000 --- a/todo.lips +++ /dev/null @@ -1,254 +0,0 @@ -;; -*- scheme -*- -;; -;; TODO app using LIPS - simple scheme like lisp in JavaScript -;; Copyright (C) 2018-2019 Jakub T. Jankiewicz -;; Released under the MIT license -;; -;; code based on jQuery TODO MVC -;; https://github.com/tastejs/todomvc/blob/gh-pages/examples/jquery/js/app.js -;; -;; ---------------------------------------------------------------------------------- -;; Helper functions -;; ---------------------------------------------------------------------------------- - -(define (filter-todos completed) - "return todos where completed fields is equal to argument" - (filter (lambda (item) - (eq? (cdr (assoc 'completed item)) completed)) todos)) - - -(define (element-id element) - "return data-id attribute value" - (--> ($ element) (closest "li") (data "id"))) - - -(define (find-todo element) - "return single todo representation of a given element" - (let ((id (element-id element))) - (find (lambda (item) (eq? (cdr (assoc 'id item)) id)) todos))) - - -(define (on-todo fn element) - "Invoke function for each todo" - (let* ((todo (find-todo element))) - (if (not (null? todo)) - (fn todo)))) - - -(define (get-todos) - "return selected todo" - (if (eq? selected-filter "active") - (filter-todos false) - (if (eq? selected-filter "completed") - (filter-todos true) - todos))) - - -(define (uuid) - "Generatates unique ID (comments are because of scheme highligting in emacs (| |) is commnent)" - (let ((i 0) (rnd) (uuid "")) - (while (< i 32) - (set! rnd (| (* (--> Math (random)) 16) 0)) ;;|) - (if (or (== i 8) (== i 12) (== i 16) (== i 20)) - (set! uuid (concat uuid "-"))) - (let ((value (if (== i 1) - 4 - (if (== i 16) - (| (& rnd 3) 8) ;;|) - rnd)))) - (set! uuid (concat uuid (--> value (toString 16))))) - (++ i)) - uuid)) - - -(define (pluralize count word) - (if (or (> count 1) (== count 0)) (concat word "s") word)) - - -(define (store namespace . data) - "set or get value from localStorage" - (if (not (null? data)) - (--> localStorage (setItem namespace (--> (car data) (toString)))) - (let ((store (--> localStorage (getItem namespace)))) - (if (null? store) - '() - (read store))))) - -;; ref: https://www.programming-idioms.org/idiom/12/check-if-list-contains-a-value/154/scheme -(define (contains x list) - (if (not list) - false - (if (eq? (car list) x) - true - (contains x (cdr list))))) - - -(define log (. console "log")) - -;; ---------------------------------------------------------------------------------- -;; Global variables -;; ---------------------------------------------------------------------------------- -(define todos (store "todos-jquery")) -(define ENTER_KEY 13) -(define ESCAPE_KEY 27) -(define selected-filter "all") - - -;; ---------------------------------------------------------------------------------- -;; Templates -;; ---------------------------------------------------------------------------------- -(define (template selector) - (let ((html (--> ($ selector) (html)))) - (--> Handlebars (compile html)))) - - -(define todo-template (template "#todo-template")) -(define footer-template (template "#footer-template")) - -;; ---------------------------------------------------------------------------------- -;; Event handles -;; ---------------------------------------------------------------------------------- - -(define (toggle-completed) - "remove completed todos" - (let ((ids (--> ($ ".toggle:checked") - (closest "li") - (map (lambda (i item) - (--> ($ item) (data "id")))) - (get)))) - (set! todos (filter (lambda (item) - (not (--> ids (includes (cdr (assoc 'id item)))))) - todos)) - (render))) - - -(define (add-todo e) - "create new todo" - (let* ((input (. e "target")) - (which (. e "which")) - (val (--> (. input "value") (trim)))) - (if (and (not (eq? val "")) (eq? which ENTER_KEY)) - (begin - (append! todos (list `((id . ,(uuid)) - (title . ,val) - (completed . false)))) - (set! (. input "value") "") - (render))))) - - -(define (destroy event) - "remove todo" - (let ((id (element-id (. event "target")))) - (set! todos (filter (lambda (item) - (not (eq? (cdr (assoc 'id item)) id))) todos)) - (render))) - - -(define (toggle event) - "flip completed on todo and render todos" - (on-todo (lambda (todo) - (let ((completed (cdr (assoc 'completed todo)))) - (set-cdr! (assoc 'completed todo) (not completed)) - (render))) - (. event "target"))) - - -(define (toggle-all event) - (let ((is-checked (--> ($ (. event "target")) (prop "checked")))) - (for-each (lambda (item) (set-cdr! (assoc 'completed item) is-checked)) todos) - (render))) - - -(define (edit-mode event) - (let* (($input (--> ($ (. event "target")) - (closest "li") - (addClass "editing") - (find ".edit"))) - (tmp-str (--> $input (val)))) - (--> $input (val "")) - (--> $input (val tmp-str)) - (--> $input (focus)))) - - -(define (edit-keyup event) - (let ((key (. event "which")) - (element (. event "target"))) - (if (eq? key ENTER_KEY) - (--> element (blur))) - (if (eq? key ESCAPE_KEY) - (--> ($ element) (data "abort" true) (blur))))) - - -(define (update event) - "update title of todo but not when user press ESC" - (let* ((element (. event "target")) - ($el ($ element)) - (val (--> $el (val) (trim)))) - (if (--> $el (data "abort")) - (begin - (--> $el (data "abort" false)) - (render)) - (if (not val) - (detroy event) - (begin - (on-todo (lambda (todo) - (set-cdr! (assoc 'title todo) val)) - element) - (render)))))) - -;; ---------------------------------------------------------------------------------- -;; Main code -;; ---------------------------------------------------------------------------------- - -(define (render-footer) - "get data about toods and render the app footer" - (let* ((todo-count (length todos)) - (active-count (length (filter-todos false))) - (data `((activeTodoCount . ,active-count) - (activeTodoWord . ,(pluralize active-count "item")) - (completedTodos . ,(- todo-count active-count)))) - (template (footer-template (--> data (toObject))))) - (--> ($ ".footer") - (toggle (> todo-count 0)) - (html template)))) - - -(define (render) - "render the app" - (let* ((todos (get-todos)) - (data (--> (map (lambda (e) (--> e (toObject))) todos) (toArray)))) - (--> ($ ".todo-list") - (html (todo-template data))) - (--> ($ ".main") (toggle (> (length data) 0))) - (--> ($ ".new-todo") (focus)) - (render-footer) - (let ((todos (filter-todos false))) - (--> ($ ".toggle-all") (prop "checked" (== (length todos) 0)))) - (store "todos-jquery" todos))) - -(define (bind) - "bind event handlers" - (--> ($ ".new-todo") (on "keyup" add-todo)) - (--> ($ ".toggle-all") (on "change" toggle-all)) - (--> ($ ".todoapp") - (on "click" ".clear-completed" toggle-completed)) - (--> ($ ".todo-list") - (on "dblclick" "label" edit-mode) - (on "keyup" ".edit" edit-keyup) - (on "focusout" ".edit" update) - (on "change" ".toggle" toggle) - (on "click" ".destroy" destroy))) - - - - -(define (init) - "initialization function" - (bind) - (let* ((routes `(("/:filter" . ,(lambda (filter) - (set! selected-filter filter) - (render))))) - (router (new Router (--> routes (toObject))))) - (--> router (init "/all")))) - -(init) diff --git a/version b/version deleted file mode 100755 index c0677b4b6..000000000 --- a/version +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Display current version or update version if used with version as argument - -VERSION=`grep VERSION= Makefile | sed -e 's/VERSION=\(.*\)/\1/'` -if [ -z "$1" ]; then - echo $VERSION -elif [ "$1" != "$VERSION" ]; then - sed -e "s/{{VERSION}}/"$1"/" templates/Makefile > Makefile -fi